我决定尝试开发Android Studio,并设计了一个应用程序,它可以监听拍手声并执行某些操作。我的问题在于使用TarsosDSP。
我想将Listener类作为IntentService运行,这样我就可以锁定手机而它仍在监听。然而,我在设置AudioDispatcher和TarsosDSPAudioInputStream方面遇到了麻烦。
以下是目前的onHandleIntent内容:
我想将Listener类作为IntentService运行,这样我就可以锁定手机而它仍在监听。然而,我在设置AudioDispatcher和TarsosDSPAudioInputStream方面遇到了麻烦。
以下是目前的onHandleIntent内容:
protected void onHandleIntent(Intent Intent) {
AudioDispatcher mDispatcher = new AudioDispatcher(TarsosDSPAudioInputStream, SAMPLE_RATE, BUFFER_OVERLAP);
double threshold = 8;
double sensitivity = 20;
PercussionOnsetDetector mPercussionDetector = new PercussionOnsetDetector(22050, 1024,
new OnsetHandler() {
@Override
public void handleOnset(double time, double salience) {
Log.d(TAG, "Clap detected!");
}
}, sensitivity, threshold);
mDispatcher.addAudioProcessor(mPercussionDetector);
new Thread(mDispatcher).start();
}
我想更具体地说,我不确定如何定义TarsosDSPAudioInputStream
对象。 文档中说它是一个接口,但我不知道它是如何工作的。我对Android Studio和Java非常新手,但我在C++方面有一年的经验,因为这是我的专业课程之一。
mDispatcher
中,并且在最后一行启动了Thread
。这很有道理,谢谢。尝试理解新库总是很痛苦的。 - Ausche