我一直在尝试在Core Audio中使用新的AVAudioSinkNode
。它将audioBufferList
类型的UnsafePointer<AudioBufferList>
传递到处理音频的闭包。
在Swift中AudioBufferList
的实现是这样的,如果有多个缓冲区,您无法访问多个缓冲区。 Apple为可变版本UnsafeMutablePointer<AudioBufferList>
提供了包装,该包装称为UnsafeMutableAudioBufferListPointer
,并允许访问多个缓冲区。
但是我找不到与非可变UnsafePointer<AudioBufferList>
...一起使用的相关包装。>
let sinkNode = AVAudioSinkNode() { (timestamp, frames, audioBufferList) -> OSStatus in // audioBufferList is UnsafePointer<AudioBufferList> // how to access multiple buffers in audioBufferList? }
提前感谢!
我一直在尝试在Core Audio中使用新的AVAudioSinkNode。它将UnsafePointer
要在Swift中访问AudioBuffer
中的每个AudioBufferList
,您可以选择两种方式: