源数据为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
发布于 2011-11-15 02:55:36
iOS放弃了对AMR的支持,因此新的解决方案是使用OpenCoreAMR将数据转换为PCM
https://stackoverflow.com/questions/2866367
复制相似问题