这里主要介绍AVFundation框架中的组件,讲解音频的录制以及合成,还有一些注意事项。
1、音频的采集
音频既能与图像结合组合成视频数据,也能以纯音频的方式采集播放,后者应用场景多为在线电台和语音电台。音频的采集过程主要是通过设备将环境中的模拟信号采集成PCM编码的原始数据,然后压缩成mp3等格式分发出去。
音频采集的主要难点:延迟敏感、卡顿敏感、回声消除、噪声消除、静音监测及各种混音算法等。
音频采集的主要技术参数:
采样率 — 采样就是把模拟信号数字化的过程。采样频率越高,记录这个音频信号所用的数据量也就越大,对应的得到音频的质量也就越高。
位宽 — 每个采样点的大小需要用一个数值来表示,这个大小为4bit、8bit、16bit、32bit等,这个数值越大,表示的音频的质量越好,对应的数据量也就越大。
声道数 — 音频录制时音源的数量或者回放时扬声器的数量。比如,单身道,双声道。
音频帧 — 音频是流式的,没有明确的一帧一帧的概念,它是根据编解码器和具体的引用需求来定的。
如何计算一帧音频帧的大小。假设某音频信号是采样率为 8kHz、双通道、位宽为 16bit,20ms 一帧,则一帧音频数据的大小为:
8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte
参考资料
SCRecorder,主要用于录制视频,音频也可以录制。短视频录制,将录制好的视频保存为多个片段,可以选择需要的视频片段合成。
EZAudio 主要用于根据音量显示波形图。