Android AMR-WB音频录制

Android AMR-WB音频录制,android,audio-recording,android-2.3-gingerbread,amr,Android,Audio Recording,Android 2.3 Gingerbread,Amr,我试图以这样的方式录制音频: mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); mRecorder.pr

我试图以这样的方式录制音频:

mRecorder = new MediaRecorder();    
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
mRecorder.prepare();
mRecorder.start();
...
在三星Galaxy SII(4.0.4)和三星Galaxy Nexus(4.2)上,它可以完美地工作。但在SonyEricsson Xperia Pro(4.0.4)上,它创建的3gp文件无效。 在Android 2.3上。*它以错误的速度录制(效果类似于正常录制加速到3-4倍)。 据我所知,我不能在AMR中使用
setAudioEncodingBitRate
setAudioSamplingRate
方法(我说得对吗?)。 也许有人知道AMR-WB的正确MediaRecorder曲调(或解决方法),或者我用错误的方式制作了一些东西

提前谢谢


迈克尔

不客气;)我已经有一段时间没有使用任何基于MSM8255的产品了,我根本没有参与ICS升级。我知道不久前在Jellybean branch的Codeaurora论坛上有针对MSM8960/APQ8064的AMR-WB录制补丁,但我不能确定它是否适用于那些旧产品。我可能可以在工作时检查。你会帮我一个大忙-请检查一下(我已经测试过在XPeria Arc上进行AMR-WB/3GP录制(我没有XPeria Pro,但他们使用相同的平台)运行Android 2.3.4,没有遇到任何问题。录制的3GP文件似乎在设备上可以正常播放。我使用的设置是16000 Hz采样率、1个通道、8个缓冲区、缓冲区大小2048。谢谢!您使用MediaRecorder录制了吗?可能没有,因为它无法设置缓冲区大小和缓冲区计数。请描述您使用的方式我们有一个内部使用的测试应用程序。虽然我没有设置缓冲区大小/计数,但我只是列出多媒体框架选择的内容。我所做的只是选择3GP容器、AMR-WB编码器和16 kHz采样率。