録音されたサウンドが特定のしきい値を超えると、オーディオの録音を開始する必要があるアンドロイドアプリケーションを構築しています。AndroidでmediaRecorder.getMaxAmplitude()によって返された値を分析する方法
私は、MediaRecorderクラスのgetMaxAmplitude()メソッドが、音圧の尺度としてのノイズのラウドネスの推定値を与えることを研究し、発見しました。 0〜+ 32767の範囲の値を返します。
ここに私が書いたコードがあります。
MediaRecorder mediaRecorder = new MediaRecorder();
while(True){
if (mediaRecorder.getMaxAmplitude() > THRESHOLD)
System.out.println("Recording sound");
else
System.out.println("Sound recording not above the threshold level);
}
私はトラブルgetMaxAmplitude()関数によって返される値のための標準的な単位が存在しないので、閾値を考え出すを持っています。誰かが、getMaxAmplitude()関数から返された値からデシベル(dB)または他の有用な単位への変換を提案できるのが望ましいでしょう。
私はこの質問に対する答えを見つけようとしています。私が1つを考え出すなら、それを答えとして掲示するでしょう。 – aditya