我試圖用fmod播放midi文件。但有一個錯誤說:插件需要的資源無法找到,(即DLS文件的MIDI播放)如何在android中使用midi文件使用fmod
我已經搜索了這樣的問題的結果,並提到了fmod.h文件。看來我需要一個名爲「gs_instrument.dls」的文件,但我無法在我的mac以及android模擬器文件系統中找到它。我也在網上搜索資源,也沒有結果。
那麼我應該怎麼做,如果我想在android中使用fmod播放MIDI文件。
希望你能幫助我!
謝謝!
我試圖用fmod播放midi文件。但有一個錯誤說:插件需要的資源無法找到,(即DLS文件的MIDI播放)如何在android中使用midi文件使用fmod
我已經搜索了這樣的問題的結果,並提到了fmod.h文件。看來我需要一個名爲「gs_instrument.dls」的文件,但我無法在我的mac以及android模擬器文件系統中找到它。我也在網上搜索資源,也沒有結果。
那麼我應該怎麼做,如果我想在android中使用fmod播放MIDI文件。
希望你能幫助我!
謝謝!
我不知道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();
您可以像這樣使用。您可以撥打以下方法來播放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();
}
您指定與傳遞到系統:: createSound的FMOD_CREATESOUNDEXINFO結構的dlsname成員的DLS文件的位置。
您必須自己提供實際的文件並將其放在SD卡上,以便您可以傳遞它的位置。在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文件。