可能目前这实际上是不可能的,这是不幸的.我正在尝试调用CoreMIDI API来设置MIDI输入.这就是我在Swift中要做的事情:
var midiClient = MIDIClientRef()
var inputPort = MIDIEndpointRef()
var status: OSStatus
func readProc(packetList: UnsafePointer<MIDIPacketList>, readProcRefCon: UnsafeMutablePointer<Void>, srcConnRefCon: UnsafeMutablePointer<Void>) -> Void {
}
status = MIDIClientCreate("MIDI client", nil, nil, &midiClient);
status = MIDIDestinationCreate(midiClient, "MIDI input", readProc, nil, &inputPort);
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:'(UnsafePointer,UnsafeMutablePointer,UnsafeMutablePointer) - > Void'不能转换为'MIDIReadProc'
MIDIReadProc的typedef如下:
typealias MIDIReadProc = CFunctionPointer<((UnsafePointer<MIDIPacketList>, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>
Run Code Online (Sandbox Code Playgroud)
有没有办法让我的readProc方法的函数指针传递给MIDIDestinationCreate API?