iOS 音频录音和格式转换

1.AVAudioRecorder原生录音-参数设置压缩大小

PCM 即脉冲编码调制 (Pulse Code Modulation)。在PCM 过程中,将输入的模拟信号进行采样、量化和编码,用二进制进行编码的数来代表模拟信号的幅度 ;接收端再将这些编码还原为原来的模拟信号。即数字音频的 A/D 转换包括三个过程 :采样,量化,编码。

数据大小=采样频率 * 采样位数 * 声道 * 秒数/8

AVSampleRateKey采样率 8000/11025/22050/44100/96000(影响音频的质量)
AVNumberOfChannelsKey音频通道数 1 或 2 单声道和立体声;
AVEncoderAudioQualityKey录音质量 设置高低无明显变化
AVLinearPCMBitDepthKey采样位数 8、16、24、32;

AVFormatIDKey采用kAudioFormatLinearPCM格式,录音之后保存为wav格式
通常取值为:8000,1,16。5秒音频大概80KB 16KB/S

2.格式转换

2.1 amr和wav音频格式转换

苹果原生不支持amr,录制音频文件为wav格式,需要将wav格式转换为amr减少大小(编译三方C++库再进行二次封装)
将格式转换为amr 可以极大的减少音频文件的大小(10倍左右),比如80KB->8KB 314KB->31KB
播放时需要将amr再次转换为wav才能播放。
amr和wav音频格式转换

2.2 mp3和wav音频格式转换
将wav转换为mp3需要使用到libmp3lame三方开源库lame网站,不过需要编译成静态库才能使用。这里仅提供转换mp3的方法,具体使用可自行查找。

你可能感兴趣的:(iOS 音频录音和格式转换)