2011-06-26 174 views

回答

2

如果您仍在嘗試對此進行排序,則iOS 5包含MusicPlayer API - 它可以加載,播放和創建MIDI文件。您還需要閱讀新的AUSampler AudioUnit。

3

就像@skinnyTOD指出的那樣,從iOS 5.0開始就可以使用MediaPlayer。 第一個鏈接的AVFoundation,並AudioToolbox框架到您的項目,然後使用此代碼:

#import <AVFoundation/AVFoundation.h> 

NSURL *midiUrl = [[NSBundle mainBundle] URLForResource:@"even voor mij" withExtension:@"mid"]; 
MusicPlayer player = NULL; 
NewMusicPlayer(&player); 
MusicSequence sequence = NULL; 
NewMusicSequence(&sequence); 
MusicSequenceFileLoad(sequence, (__bridge CFURLRef)midiUrl, NULL, NULL); 
MusicPlayerSetSequence(player, sequence); 
MusicPlayerStart(player); 

這將把玩家從捆綁你的MIDI文件,並開始播放。 請注意,清理播放器時您需要撥打DisposeMusicSequenceDisposeMusicPlayer

+0

文件完成時是否存在回調?例如:如果我想在遊戲中使用幾個midis作爲背景音樂,我想知道文件#1何時完成,因此我可以啓動文件#2等。謝謝! – Olie

+0

有趣的問題,我認爲它可以通過聰明的方式使用MusicSequence來解決。無論如何,你可能會決定把它作爲一個單獨的stackoverflow問題。 – Berik

+0

感謝您的回答。我雖然有一個問題。你知道像卡拉OK一樣顯示歌曲歌詞的方法嗎? – Ushan87