現在の騒音レベル (おそらく dB) を測定する小さな Android アプリを開発したいと考えています。しかし、ライブラリで何を探すべきかわかりません。ノイズを録音したくありません。誰かがどのクラスを見るべきかを教えてもらえますか?
6805 次
2 に答える
4
これらのクラスを見ることをお勧めします:
android.media.AudioFormat
android.media.AudioManager
android.media.AudioTrack
少し前にBlinkendroid オーディオ パッケージでそれらを使用しました。
于 2010-08-25T15:58:04.300 に答える
0
次のコード スニペットは、過去にノイズ レベルを取得した方法を示しています。残念ながら、ドキュメントには #getMaxAmplitude() が返す単位が記載されていません。
// Start recording but don't store data
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile("/dev/null");
mediaRecorder.prepare();
mediaRecorder.start();
// Obtain maximum amplitude since last call of getMaxAmplitude()
while(someCondition) {
int amplitude = mediaRecorder.getMaxAmplitude();
}
// Don't forget to release
mediaRecorder.reset();
mediaRecorder.release();
于 2011-10-19T18:39:48.203 に答える