gpt4 book ai didi

swift - Xcode 8 beta 6 中的 MusicEventIteratorGetEventInfo

转载 作者:行者123 更新时间:2023-11-28 16:16:15 25 4
gpt4 key购买 nike

直到 Xcode 8 beta 5,我可以在 MusicEventIterator 中访问事件信息,使用类似:

var type: MusicEventType = 0
var stamp: MusicTimeStamp = 0
var data: UnsafePointer<()>? = nil
var size: UInt32 = 0

while(hasCurrentEvent != false) {
MusicEventIteratorGetEventInfo(iterator!, &stamp, &type,
&data, &size)
// do stuff with stamp, type, data...
}

我设法在 Apple 开发站点上获得了一些关于处理“数据”的帮助,但是首先获取数据也被破坏了。我收到有关在“数据”声明中使用“UnsafeRawPointer”的警告,以及有关无法在调用 MusicEventIteratorGetEventInfo() 时将数据用作 inout 参数的错误...虽然我知道他们正在使事情变得更具确定性和面向 future (即,对于编译器),但每隔几个月 C-interop 的东西就发生变化是非常令人沮丧的。我的 MIDI 文件解析器代码已经更改了 3 次...

作为引用,MusicEventIteratorGetEventInfo 具有签名:

func MusicEventIteratorGetEventInfo(_ inIterator: MusicEventIterator,
_ outTimeStamp: UnsafeMutablePointer<MusicTimeStamp>,
_ outEventType: UnsafeMutablePointer<MusicEventType>,
_ outEventData: UnsafeMutablePointer<UnsafePointer<Void>>,
_ outEventDataSize: UnsafeMutablePointer<UInt32>) -> OSStatus

非常感谢任何帮助。

最佳答案

latest reference of MusicEventIteratorGetEventInfo 显示这个:

Declaration

func MusicEventIteratorGetEventInfo(_ inIterator: MusicEventIterator, 
_ outTimeStamp: UnsafeMutablePointer<MusicTimeStamp>,
_ outEventType: UnsafeMutablePointer<MusicEventType>,
_ outEventData: UnsafeMutablePointer<UnsafeRawPointer?>,
_ outEventDataSize: UnsafeMutablePointer<UInt32>) -> OSStatus

第三个参数outEventData类型为 UnsafeMutablePointer<UnsafeRawPointer?> .通常,当 API 声明 UnsafeMutablePointer<T> 时, 你声明了一个 T 类型的变量,并将其作为 inout 参数传递。

所以,这应该可行:

var type: MusicEventType = 0
var stamp: MusicTimeStamp = 0
var data: UnsafeRawPointer? = nil //<- Declare a variable of type `UnsafeRawPointer?`.
var size: UInt32 = 0

while hasCurrentEvent != false {
MusicEventIteratorGetEventInfo(iterator!, &stamp, &type,
&data, &size) //<- Pass it as an inout argument.
// do stuff with stamp, type, data...
}

关于swift - Xcode 8 beta 6 中的 MusicEventIteratorGetEventInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39044875/

25 4 0
文章推荐: html - 有没有一种简单的方法可以为 HTML
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com