0

これは SO に関する私の最初の投稿であり、自分の音楽スキルとコンピューター サイエンスを組み合わせようとしています。

Gradle 4.5、Nexus 5X、API 25、Android 7.1.1、Windows 7 で Android studio 3.1.2 を使用しています。
次の手順に注意深く従いました。

  1. Pitchbender というプロジェクトを作成します。

  2. .jarTarsosDSP をダウンロードして、

    C:\Users\Carlos\AndroidStudioProjects\Pitchbender\app\libs\TarsosDSP-Android-latest
    
  3. 私は自分のプロジェクトをチェックしましたbuild.gradle

    dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) }
    
  4. 私のプロジェクトでは、次のインポートがAndroid Studioによって自動的に行われます。

    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.view.View
    import be.tarsos.dsp.AudioEvent
    import be.tarsos.dsp.io.android.AudioDispatcherFactory
    import be.tarsos.dsp.pitch.PitchDetectionHandler
    import be.tarsos.dsp.pitch.PitchDetectionResult
    import be.tarsos.dsp.pitch.PitchProcessor
    import kotlinx.android.synthetic.main.activity_main.*
    import be.tarsos.dsp.pitch.PitchProcessor.PitchEstimationAlgorithm
    import be.tarsos.dsp.AudioProcessor
    import android.widget.TextView
    import be.tarsos.dsp.AudioDispatcher
    
  5. マニフェスト ファイルにこの権限があります

    uses-permission android:name=”android.permission.RECORD_AUDIO”  
    
  6. Android Studioでは、次のコードの最初の行で Kotlin に変換するオプションが提供されます。

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

    Kotlin 変換に「いいえ」と答えると、次のコンパイル エラーが発生します。

    分類子「AudioDispatcher」にはコンパニオン オブジェクトがないため、ここで初期化する必要があります。

    私に何ができる?

    Kotlin 変換の質問に「はい」と答えると、そのステートメントは次のように変換されます。

    val dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(22050, 1024, 0) 
    

    そして、このプログラムを実行すると、Android はエラーが発生したことを通知し、プロジェクトを閉じ、プロジェクトを閉じ続けます。何をすべきか?

少なくとも完全なコードの最初の命令を実行するのを手伝ってください:

PitchDetectionHandler pdh = new PitchDetectionHandler() {
    @Override
    public void handlePitch(PitchDetectionResult res, AudioEvent e){
        final float pitchInHz = res.getPitch();
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                processPitch(pitchInHz);
            }
        });
    }
};
AudioProcessor pitchProcessor = new PitchProcessor(PitchEstimationAlgorithm.FFT_YIN, 22050, 1024, pdh);
dispatcher.addAudioProcessor(pitchProcessor);

Thread audioThread = new Thread(dispatcher, "Audio Thread");
audioThread.start();

質問:

エラーが何であるかを確認できるように、 Android Studioに簡単なプロジェクトはありますか?

4

1 に答える 1