据我所知,MediaRecorder中的getMaxAmplitude函数应返回0到32762之间的值,但在我的手机Sont Z Ultra Google Play Edition中,我仍然以9000为最大值,尽管大喊大叫。在我的朋友Nexus 5中测试时,我得到了32762,所以我知道它与我的代码无关。
我需要知道在运行我的应用的每部手机中可以产生的最大振幅是多少,我该怎么做?
谢谢。
答案 0 :(得分:1)
在移动测试之后,我发现改变了这个:
this.mediaRecorder.setAudioSource(
android.media.MediaRecorder.AudioSource.MIC
);
到此:
this.mediaRecorder.setAudioSource(
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
);
解决了我的问题。我在尝试过的每台设备上都获得了32762的最大振幅。