【发布时间】:2013-08-06 04:05:57
【问题描述】:
我在 StackOverflow 和网络上搜索了许多关于口哨检测等的问题,许多人确实尽可能多地解释了如何检测他们的东西。
Detect Whistle sound in android
Detect the beginning of a sound or voice in Android
但我不知道如何在 Android 应用中检测“Jack Hammer sound count”? 所需的计数器可以计算至少 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;
}
【问题讨论】:
-
你的问题是什么?您是否尝试重新创建那些 whislty/soudnstart 应用程序/源代码?然后发生了什么?你在哪里 stuk:你有什么东西可以检测到一击,但你的速度有问题吗?速度还可以,但是不能做app吗?发生了什么事?
-
到目前为止,我可以检测到 500 次罢工/分钟。但我需要帮助才能解决问题。
-
然后显示您的代码或其中的一部分。在不知道你已经在做什么的情况下,我们只会扔掉随机的东西,不是吗?如果我们看不到您在做什么,我们如何才能看到您可以批准什么?
-
我只是不想要你们的任何代码,我只需要一些建议。
-
看到我已经编辑了我的问题并发布了我的 AsyncTask 类的 doInBackground 方法如果你真的想帮忙,那么也可以看看这篇文章:[链接]stackoverflow.com/q/18463765/2563740
标签: android-asynctask android-audiorecord