我在StackOverflow和网上搜索了很多关于口哨检测的问题,很多人都尽可能地解释了他们如何检测他们的东西。
Detect Whistle sound in android
Detect the beginning of a sound or voice in Android
但我不知道如何在Android应用中检测到“ Jack Hammer声音计数”? 所需的计数器至少可以计算33次/秒(或2000次/分)。
任何人都可以建议一些解决方案吗?
这是我的doInBackground方法
@Override
protected Integer doInBackground(AudioCilpListener... listeners) {
if (listeners.length == 0) {
return 0;
}
AudioCilpListener listener = listeners[0];
AudioClipRecorder recorder = new AudioClipRecorder(listener, this);
// boolean heard = false;
int count = 0;
for (int i = 0; i < 10; i++) {
try {
count = recorder.startRecordingForTime(30,
AudioClipRecorder.RECORDER_SAMPLERATE_CD,
AudioFormat.ENCODING_PCM_16BIT);
break;
} catch (IllegalStateException ie) {
// failed to setup, sleep and try again
// if still can't set it up, just fail
ie.printStackTrace();
}
}
//collect the audio
return count;
}
答案 0 :(得分:2)
请参阅名为“Android Sensor Programming 2012”的书。
在第3部分第14章“使用麦克风”中,您将获得所有相关细节