Android GetMaxAmpliance()“始终”已达到

Android GetMaxAmpliance()“始终”已达到,android,audio,media,amplitude,Android,Audio,Media,Amplitude,我希望我的应用程序在加载时能像拍手一样做出反应。问题是,GetMaxAmplium即使在以正常语音(配置模式下设置的>=my allMaxAmpli变量)说话时,也会达到其最大值32762 媒体记录器的设置如下所示: mrec = new MediaRecorder(); mrec.setAudioSource(MediaRecorder.AudioSource.MIC); mrec.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); m

我希望我的应用程序在加载时能像拍手一样做出反应。问题是,GetMaxAmplium即使在以正常语音(配置模式下设置的>=my allMaxAmpli变量)说话时,也会达到其最大值32762

媒体记录器的设置如下所示:

mrec = new MediaRecorder();
mrec.setAudioSource(MediaRecorder.AudioSource.MIC);
mrec.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mrec.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
[..]
mrec.setOutputFile(audiofile.getAbsolutePath());
mrec.prepare();
mrec.start();
检查是这样做的,抽象的:

int maxAmp = mrec.getMaxAmplitude();
if (maxAmp >= CalibAmp)
  Log.v("ID", "Max Amp is greater!");
我错过什么了吗

是否有其他方法来测量体积,或增加GetMaxAmplificate的限制?我曾考虑使用录音,但后来我不得不手工计算振幅。我想从中解脱出来

在考虑发帖之前,我搜索了很多,但什么也找不到。 任何帮助都将不胜感激

/编辑: 如果我计算出振幅的分贝,会得到其他值吗?这可能会解决问题

/Edit2:我计算了振幅的分贝,但问题仍然存在,因为振幅一直很高。没人有主意/

/Edit3:在测试了其他一些应用程序之后,这似乎是Android的一个普遍问题。这就是为什么每个声音测量应用程序都是免费的。

这可能包含一些帮助这可能包含一些帮助