2011-08-10 11 views
1

fmodを使用してmidiファイルを再生しようとしています。しかし、プラグインが必要とするリソースが見つからない(つまり、MIDI再生のためのDLSファイル)android use fmodでmidiファイルを再生する方法

私はこのような問題の結果を検索し、fmod.hファイルを参照しました。 "gs_instrument.dls"という名前のファイルが必要だと思われますが、私のMacとアンドロイドシミュレータのファイルシステムでは見つかりません。私はウェブ上のリソースも検索しましたが、結果もありませんでした。

したがって、fmodを使用してandroidでmidiファイルを再生するにはどうすればよいですか。

私を助けることができますように!

ありがとうございます!

答えて

3

私はfmodについてはわかりませんが、AndroidはすぐにMIDIファイルを再生できます。ここには私のために働くものの簡略版があります:

MediaPlayer mediaPlayer = new MediaPlayer(); 
File f = [... my MIDI file ...]; 
FileInputStream fis = new FileInputStream(f); 
FileDescriptor fd = fis.getFD(); 
mediaPlayer.setDataSource(fd); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 
0

このように使うことができます。 midiファイルを再生したい場所で次のメソッドを呼び出すことができます。

public void myRingCtone() 
     { 
      Uri path = Uri.parse("android.resource://com.PackageName/raw/MIDI_RingToneName"); 
      RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), 
                  RingtoneManager.TYPE_RINGTONE, path); 
      Log .i("TESTT", "Ringtone Set to Resource: "+ path.toString()); 
      RingtoneManager.getRingtone(getApplicationContext(), path).play(); 
     } 
1

あなたは、System :: createSoundに渡さFMOD_CREATESOUNDEXINFO構造のdlsname部材とDLSファイルの場所を指定します。

あなたは実際のファイルを自分で用意し、それをsdcardに置いてその場所に渡す必要があります。 Windowsでは、デフォルトのDLSファイルは "C:¥Windows¥System32¥drivers¥gm.dls"または "C:¥Windows¥System32¥drivers¥etc¥gm.dls"にあります。 Macでは、 "/System/Library/Components/CoreAudio.component/Contents/Resources/gs_instruments.dls"にあります。これは、私はAndroidプロジェクトでこれらのファイルを使用することの合法性について話すことができないと言われています。あなたはどこか他の場所から独自の "無料" dlsファイルを入手する必要があります。

関連する問題