在 Apples Swift 3 API Core Audio 中,该方法AudioQueueNewInput(...)
用于创建新的录音音频队列对象。
在CallbackProc中的参数之一是 Type AudioQueueInputCallback
。有关该AudioQueueNewInput
函数的完整声明,请参见此处。
AudioQueueInputCallback
自身的声明如下所示:
typealias AudioQueueInputCallback = (UnsafeMutableRawPointer?, AudioQueueRef, AudioQueueBufferRef, UnsafePointer<AudioTimeStamp>, UInt32, UnsafePointer<AudioStreamPacketDescription>?) -> Void
我想创建一个函数,我可以安全地将其传递给AudioQueueNewInput
函数。我试过的看起来像这样:
func audioQueueInputCallback(inUserData: UnsafeMutableRawPointer?,
inQueue: AudioQueueRef,
inBuffer: AudioQueueBuffer,
inStartTime: UnsafePointer<AudioTimeStamp>,
inNumPackets: UInt32,
inPacketDesc: UnsafePointer<AudioStreamPacketDescription>?) {
// Handle stuff
}
遗憾的是Xcode似乎无法将我的函数转换为类型AudioQueueInputCallback
。我在这里缺少什么?
回调函数的第三个参数应该是 AudioQueueBufferRef ,而不是 AudioQueueBuffer。
请参阅:https : //developer.apple.com/reference/audiotoolbox/audioqueuebufferref
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句