Swift 2:如何解析MIDIMetaEvent的时间签名?

时间:2015-11-01 20:02:14

标签: swift swift2 coremidi

在Swift之前,通过data [0],data [1]等访问MIDIMetaEvent的数据。 为了获得时间签名,我需要数据部分中的两个值,标记为(UInt8)...与parens。 但是当我试图以这种方式获得价值时:

let midiMessage = UnsafePointer<MIDIMetaEvent>(eventData).memory
let data1 = midiMessage.data[0]

这会导致错误:"Cannot subscript a value of type 'UInt8' with an index of type 'Int'

任何线索我在这里做错了什么?只获得midiMessage.data只返回数据的第一个字节。

1 个答案:

答案 0 :(得分:0)

没有讽刺意图,但提交雷达并要求进行增强&#34;摆脱动态大小的数组使用元组。他们已经使用Core MIDI的某些部分完成了这项工作,但不是元事件。或MIDI直通。

如果他们只是将Core MIDI功能添加到AVFoundation(他们已经开始)以完全摆脱C API,那就太好了。

与此同时,您可以使用镜像https://github.com/jverkoey/swift-midi/blob/master/LUMI/CoreMIDI/MIDIPacket%2BSequenceType.swift

进行这样的扭曲