2016-05-01 17 views
1

私はアンドロイドスタジオの開発を試してみることにしました。そして、拍手を聞いて何らかのアクションを実行するアプリをデザインしました。私の問題は、TarsosDSPの使用にあります。TarsosDSPクラッ​​プ検出

ListenerクラスをIntentServiceとして実行したいので、私は自分の電話機をロックすることができ、それでも聞くことができます。しかし、AudioDispatcherTarsosDSPAudioInputStreamの設定に問題があります。ここで

は、これまで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オブジェクトを定義する必要がありますかわからないと思います。 The documentationはそれがインターフェイスだと言いますが、私はそれがどのように動作するのか分かりません。私はAndroidスタジオとJavaのスーパーですが、それは私の専攻の一部としてC + +の1年間の経験があります。

答えて

1

TarsosDSPにはすでにAndroidの実装があります。彼らはAudioDispatcherFactoryクラスとfromDefaultMicrophone(...)メソッドを持っています。

この方法を使用して、オーディオディスパッチャインスタンスを初期化し、使用可能なプロセッサを追加することができます。あなたの場合PercussionOnsetDetector

AudioDispatcher dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(22050,1024,0); 

    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,"Audio Dispatcher").start(); 
+0

私は今理解しています。パーカッション・ディテクタが拍手を検出したときに何が起こるかを上書きします。この実装は 'mDispatcher'に入れられ、' Thread'は最後の行で開始されます。これは理にかなっています、ありがとう。新しいライブラリを理解しようとすると、常に苦労します。 – Ausche

+0

痛みはありません:)そして幸いにも、tarsosdspはよく書かれたlibです。著者のおかげで – uguboz

関連する問題