1

現在、ユーザーの声が大きいことを示すアプリを作成しています。私は現在、 を使用して録音を押したときに音を録音し、MediaRecorder再生を押してその録音をもう一度聞くことができるようにしていますMediaPlayer

私は今、彼らが録音した騒音の大きさを出力する方法を知りたいと思っています。を使用しているMediaRecorderため、 を通じてラウドネスを取得しようとしています.getMaxAplitude()。これを使用して、ユーザーが結果を確認できるようにテキストビューに表示しようとしています。

したがって、これを行う際に、記録開始機能の現在のコードは次のとおりです。

 recorder = new MediaRecorder();
 recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
 recorder.setOutputFile(OUTPUT_FILE);
 recorder.prepare();
 recorder.start();

 int test = recorder.getMaxAmplitude();
 txtView.setText(test);

これが機能しないことは既にお察しのとおり、オーディオの録音は機能しますが、振幅の取得またはユーザーへの表示は機能しません。

何か案は?

4

1 に答える 1

3

おそらく、ここでスタックオーバーフローの投稿を見ることができます。

また、同様の種類のプロジェクトがcode.google.comで利用できます。

于 2013-01-29T13:21:00.500 に答える