前言
模拟微信的录音,发送语音的时候,就需要从得到的特定格式的音频中解码出PCM数据发送给 原生API进行录制的模拟。
一、基础概念
-
数字音频与模拟音频:PCM脉冲编码调制。
-
在iOS下进行音频解码及播放的大体流程如下:
- 解码AAC编码的音频为例
- 1、打开 AAC 文件。
- 2、获取音频格式信息。如通道数,采样率等。
- 3、从 AAC 文件中取出一帧 AAC 数据。
- 4、使用 AudioToolbox 解码 AAC 数据包。
- 5、将解码后的 PCM 数据送给 AudioUnit 播放声音。
- 6、重复 3-5 步,直到整个 AAC 文件被读完。
- 解码AAC编码的音频为例
https://github.com/loyinglin/LearnVideoToolBox/blob/master/Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/AACPlayer.m
https://github.com/MichaelSSY/AACEncoder/blob/master/AAC_Test/AACDecoder.m
See Also
- 音视频
- 《音视频开发进阶指南》—— 读书笔记
- DecodeAAC
- (这里有更详细介绍PCM基础)
- iOS - 音频AAC编码
- code
- ios - 音频AAC解码
- https://github.com/kunnan/AACEncoder
- knpost
/Users/devzkn/bin//knpost Video Video 的编解码流程 -t Video #原来""的参数,需要自己加上""