मैं सफलतापूर्वक आईओएस एक मध्य (मिडी) निम्नलिखित कोड का उपयोग कर एक SoundFont नमूने के साथ फ़ाइल खेलने के लिए मिल गया है:MusicPlayer और संगीत अनुक्रम के साथ मिडी फ़ाइलों बजाना
-(void) playMusic:(NSString*) name
{
NSString *presetURLPath = [[NSBundle mainBundle] pathForResource:@"GortsMiniPianoJ1" ofType:@"SF2"];
NSURL * presetURL = [NSURL fileURLWithPath:presetURLPath];
[self loadFromDLSOrSoundFont: (NSURL *)presetURL withPatch: (int)3];
NSString *midiFilePath = [[NSBundle mainBundle] pathForResource:name ofType:@"mid"];
NSURL * midiFileURL = [NSURL fileURLWithPath:midiFilePath];
NewMusicPlayer(&musicPlayer);
if (NewMusicSequence(&musicSequence) != noErr)
{
[NSException raise:@"play" format:@"Can't create MusicSequence"];
}
if(MusicSequenceFileLoad(musicSequence, (CFURLRef)midiFileURL, 0, 0 != noErr))
{
[NSException raise:@"play" format:@"Can't load MusicSequence"];
}
MusicPlayerSetSequence(musicPlayer, musicSequence);
MusicSequenceSetAUGraph(musicSequence, _processingGraph);
MusicPlayerPreroll(musicPlayer);
MusicPlayerStart(musicPlayer);
}
हालांकि, समस्या तब आती है जब मैं तो पहली बार खेल रहा है जब एक दूसरी फ़ाइल खेलने की कोशिश करें।
मैंने कई बदलावों की कोशिश की है। सबसे पहले, उपरोक्त कोड दोनों ट्रैक एक साथ खेलेंगे। या, मैं कोशिश की है:
DisposeMusicPlayer(musicPlayer);
DisposeMusicSequence(musicSequence);
NewMusicPlayer(&musicPlayer)
से पहले, लेकिन यह केवल छिटपुट नोटों के साथ धुन से एक अजीब संस्करण का उत्पादन खेला जा रहा।
मुझे बस इस विधि को कॉल करना और अगला ट्रैक खेला जाना पसंद है।
मैं अपने कोड स्निपेट और ट्यूटोरियल यहाँ http://www.deluge.co/?q=comment/477#comment-477 लेकिन कोई उत्पादन का पालन किया। क्या आप कृपया मुझे मध्य फ़ाइल – makboney