0

源数据为 AMR-NB 5.9kbit/s (AMR_5.90)

我已经尝试了以下设置(以及十几种变体),但我得到的只是垃圾音频。有人知道 AMR 的正确设置吗?

 AudioStreamBasicDescription asbd;
 asbd.mSampleRate = 8000.0;
 asbd.mFormatID = kAudioFormatAMR;
 asbd.mFormatFlags = 0;
 asbd.mBytesPerPacket = 15;  // (118>>3)
 asbd.mFramesPerPacket = 1;
 asbd.mBytesPerFrame = 15;
 asbd.mChannelsPerFrame = 1;
 asbd.mBitsPerChannel = 118;  //tried also 0 and 13
 asbd.mReserved = 0;

基于来自维基百科的 AMR 信息:

采样频率 8 kHz/13 位(20 ms 帧 160 个样本)

分别为比特率 4.75、5.15、5.90、6.70、7.40、7.95、10.2 或 12.2 kbit/s 生成 95、103、118、134、148、159、204 或 244 比特的帧长度

以及来自这里的数据结构描述:

http://developer.apple.com/iphone/library/documentation/MusicAudio/Reference/CoreAudioDataTypesRef/Reference/reference.html#//apple_ref/doc/c_ref/AudioStreamBasicDescription

4

1 回答 1

1

iOS 放弃了 AMR 支持,所以新的解决方案是使用 OpenCoreAMR 将数据转换为 PCM

于 2011-11-14T18:55:36.320 回答