2

拍手のようなロード サウンドにアプリが反応するようにします。問題は、設定モードで可変設定されてgetMaxAmplitude()いる通常の声で話している場合でも、最大 32762 に達することです。>= my "allMaxAmpli"

メディア レコーダーは次のように設定されます。

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!");

私は何か見落としてますか?

音量を測定したり、getMaxAmplitude の制限を増やしたりする他の方法はありますか? AudioRecord を使用することを考えましたが、手動で振幅を計算する必要があります。そこから自分を救いたかった。

投稿を検討する前にかなり検索しましたが、何も見つかりませんでした。どんな助けでも大歓迎です。

/編集: 振幅からデシベルを計算すると、他の値になりますか? これで問題が解決する場合があります。

/Edit2: 振幅からデシベルを計算しましたが、振幅が常に非常に高いため、問題は解決しません。誰もアイデアを持っていませんか?:/

/Edit3: 他のアプリをいくつかテストしたところ、これは Android の一般的な問題のようです。そのため、すべてのサウンド測定アプリは無料です..

4

0 に答える 0