我在 StackOverflow 和网络上搜索了许多关于口哨检测等的问题,并且许多人确实尽可能多地解释了他们如何去检测他们的东西。
但我不知道如何在 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;
}