主页
迈腾大队长
Cancel

前言 声音的渲染在iOS平台上回直接使用AudioUnit的API来完成.用来实现一些类似大叔,KTV,耳返等效果…. 今天带领大家深入了解和学习一下这些音效. 实现iOS变声的背景 声音变声一般都是发生在 一端采集录制另一端播放音频, 忽略中间的转码过程,在输入输出的中间过程中进行相应的音频参数就实现了变声. 下图是AVAudioSession的工作流 大家常用的变声方案...

前言 RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从CFRunLoop的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用RunLoop实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 本文内容 RunLoop 的概念 RunLoop 与线程的关系 RunLoop 对外的接口 ...

前言 年前买了本Swift 进阶(swift4.0),过完年回来正在一点点学习,不得不说喵神写的东西还是不错的,¥69元对广大程序员来说已经不算啥了.如果感兴趣可以买一本,真心不错 当我从头来学习数组的时候发现好多函数真的太有用了 Swift 4.0 中的可变数组技巧 我们可用 Xcode 创建playground 来进行练习 首先创建个数组 let array = NSMuta...

前言 iOS 开发中经常回定位 bug 通过崩溃堆栈,此时我们需要借助符号表来恢复内存地址对应代码调用信息,为了解开这个大家耳熟能详却总有人问的问题的面纱,我在 bugle 平台和一些文章中收集了相关知识整理出来,以便后续方便记忆. 本周主要内容如下 什么是符号表? 为什么要配置符号表? dSYM文件? 什么是符号表? 符号表是内存地址与函数名、文件名、行号的映...

前言 今天在网上找到了一篇有价值的文章,来说明计算机中的图像渲染流程以及像素点计算和坐标点相关的知识. 计算机图形渲染的流程 计算机的绘图过程可以简单用流水线来说明,而产品(数据)就是经过流水线作业(渲染)到屏幕的图像。这条流水线可以简化为(本文的概念):绘图位置座标指定;着色指定;输出指定;下图简单解释了这一个流水线过程。计算机绘图需要一个输入绘图数据,这个数据可以是用户指定的,...

前言 很久没有写Learning AV Foundation相关的文章了,言归正传 本篇介绍一下简单的视频播放 了解视频播放之前我们来看戏AVPlayer需要的一些组件模型 AVPlayer AVPlayer是一个用来播放基于基于时间的视听媒体的控制对象,支持播放: 本地 媒体文件 异步下载 媒体文件 HTTP Live Streaming协议的流媒体 文件 ...

前言 学习过程中记录一下python代码 #!/usr/bin/env python # coding:utf8 import sys reload(sys) sys.setdefaultencoding('utf8') # 加载包 from gensim.models import Word2Vec from gensim.models.word2vec import Lin...

前言 为了实现不斷學習 與時俱進周末把大部分时间放在了学习Python上. 在最近的学习中有一些有价值的部分都摘录整理出来放到博客上,以免后续用到的时候忘记时回来翻翻博客. 我是在study.163.com的这个《全栈数据工程师养成攻略》课程中学习的,推荐大家学习一下. 本篇主要内容 主要分为三个大部分 搭建Web环境 数据库MySQL的使用方法 使用Python...

前言 2018新年第一篇, 梳理AVAudioSession的Category,解决音频开发中的各种播放被打断或者首次启动时无声音的问题 开篇 由于iOS系统的特殊性,所有App共用一个AVAudioSession所以这个会话是个单例对象.(macOS是支持同时播放多路音频文件) 当遇到插拔耳机,接电话,调起 siri,等等,就出现音频会话被系统时间打断等行为表现: 是进行...

前言 时间像车轮一样在飞转 历史像江河一样在流淌 整整走过了365个风雨历程 2017年过的如此不寻常 一度春夏秋冬 一度雨雪风霜 一度翻山越岭 一度起伏延宕 又一年过去了,我也得墨守成规的按时交出我的年终总结了,为了不标新立异,我必须尽量不废话.(talk is cheap, show me the code!) 2017回顾 这一年的重点事件主要如下: 技术 ...