如何在UnsafePointer中访问多个缓冲区 (非可变)

问题描述 投票:0回答:1

我一直在尝试在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 类型的audioBufferList传递给处理音频的闭包。实现...

swift core-audio
1个回答
0
投票

要在Swift中访问AudioBuffer中的每个AudioBufferList,您可以选择两种方式:

© www.soinside.com 2019 - 2024. All rights reserved.