小编Joh*_*ohn的帖子

播放多乐器MIDI文件IOS

晚上好.我正在尝试用质量好的声音库写一个简单的midi播放器.面对播放midi文件的问题.问题是midi的所有曲目(鼓,鼓,贝斯,合成器等)都播放了,但它们只演奏一个乐器.我找到了OS X的解决方案,我需要iOS解决方案.我是否必须使用kAudioUnitSubType_Sampler为每个乐器audioUnit创建?

提示可以实时更改所选通道上的仪器吗?如何实施?对不起我的英语不好 ((

这是我的代码,它无法正常工作:

// Create a client
MIDIClientRef virtualMidi;
Check(MIDIClientCreate(CFSTR("Virtual Client"),
                       MyMIDINotifyProc,
                       NULL,
                       &virtualMidi));


// Create an endpoint
MIDIEndpointRef virtualEndpoint;
Check(MIDIDestinationCreate(virtualMidi, CFSTR("Virtual Destination"), MyMIDIReadProc, samplerUnit, &virtualEndpoint));

// Initialise the music sequence
NewMusicSequence(&midiSequence);

if (!midiFilePath) {
    midiFilePath = [[NSBundle mainBundle]
                    pathForResource:@"carelesswhisper"
                    ofType:@"mid"];

}
NSLog(@"midiFilePath %@", midiFilePath);

// Create a new URL which points to the MIDI file
NSURL * midiFileURL = [NSURL fileURLWithPath:midiFilePath];

MidiParser *midiParser = [[MidiParser alloc] init];
NSData *data = [NSData dataWithContentsOfFile:midiFilePath];
[midiParser parseData:data];
NSString *midiInfo = …
Run Code Online (Sandbox Code Playgroud)

midi sample audio-player midi-instrument ios

8
推荐指数
1
解决办法
1454
查看次数

标签 统计

audio-player ×1

ios ×1

midi ×1

midi-instrument ×1

sample ×1