1. AMR fixed 和 AMR Float-point有什么区别?
是不是Float-point能够解nb fixed的音频?
2. 使用float-point和fixed两种版本的解码器在解AMR时,解出来的数据听起来象录音的那种声音,是不是解码不正确?
我使用ffdshow解码3GP中的amr发现解码出来的PCM与使用ANSI-C那个解码出来的PCM数据不相同, ffdshow的声音正常, ANSI-C那个就是象录音的那种声音.
AMR解码出来的PCM数据的WAVEFORMATEX 应该是
wave.wFormatTag = 1;
wave.nSamplesPerSec = 8000;
wave.nAvgBytesPerSec = 32000;
wave.nBlockAlign = 4;
wave.nChannels = 2;
wave.cbSize = 0;
wave.wBitsPerSample = 16;
请高手分析一下解码出来为什么声音异常?
------解决方案--------------------------------------------------------
For amr_nb should be:
wave.wFormatTag = WAVE_FORMAT_PCM;
wave.nSamplesPerSec = 8000;
wave.nAvgBytesPerSec = 16000;
wave.nBlockAlign = 2;
wave.nChannels = 1;
wave.cbSize = 0;
wave.wBitsPerSample = 16;
------解决方案--------------------------------------------------------
我们在S60平台上做AMR流媒体播放时,就使用了3GPP官方提供的amr解码代码。
3GPP AMR Floating-point Speech Codec