MIDIファイルを生成し、次のように記述します。
File output = new File("exampleout.mid");
これを変更する必要があるかもしれないと思うので、正しいフォルダにあります(読み取り/書き込み可能なフォルダ、おそらくMusic /)
次に、このMIDIファイルをMediaPlayerで再生したいのですが、ファイルの読み込み方法がわかりません。
mediaPlayer = MediaPlayer.create(this, R.raw.test3);
読み取り専用ディレクトリ/res/rawからのみロードされます。しかし、私が次のようなことを試してみると:
mediaPlayer = MediaPlayer.create(this, "file://exampleout");
createは入力として整数を必要とするため、機能しません。AssetFileDescriptorを試しましたが、まだ理解していません。
その間、新しいMIDIファイルを生成し、それをmediaPlayer(チェーン)にロードして、最初のファイルの再生が終了したときに再生したいと思います。
MediaPlayer mediaPlayer = MediaPlayer.create(Activity.this,R.raw.a1);
mediaPlayer.setOnCompletionListener(new musicCompletionListener());
mediaPlayer.start();
private class musicCompletionListener implements OnCompletionListener {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.setDataSource(WHATTOPUTHERE)
mediaPlayer.release();
}
}
私の問題は、実際にはファイルを呼び出す方法です。文字列を適切に使用することはできません。また、読み取り専用の性質があるため、r.rawディレクトリは使用できません。解決策はそれほど難しくないと思いますが、C ++からJavaに移行しているだけです。助けていただければ幸いです!