我一直在使用 CoreMidi 连接 USB 设备和/或 WiFi 主机。它工作正常并发送我的 midi 事件。
我想将它们发送到设备本身进行播放。像 MusicPlayer,但我不想发送 MIDI 文件,只发送我自己的 MIDI 事件。
我应该怎么办?我尝试连接到第一个可用的目的地(MIDIGetNumberOfDestinations),但没有成功。
现在我更好地理解了这个问题,这是一个更正的答案。
我的一个项目的样本。
// Setup MIDI input port
MIDIClientRef client = NULL;
MIDIPortRef inport = NULL;
CheckError (MIDIClientCreate(CFSTR("MyApplication"),
NULL,
NULL,
&client),
"Couldn't create MIDI client");
CheckError (MIDIInputPortCreate(client,
CFSTR("MyApplication Input port"),
&inport),
"Couldn't create input port");
[self setInputPort:inport];
[self setMidiClient:client];
[self setDestinationEndpoint:[[self midiSession] destinationEndpoint]];