gpt4 book ai didi

swift - 再次在 Swift 中使用 AudioBufferList

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

引用Using AudioBufferList with Swift

我在 Stack Overflow 上找到了以下解决方案,用于使用音频单元播放一些声音。我的问题是我无法像正弦波数据那样将实际数据放入缓冲区。我用 memcpy 而不是 memset 尝试过,但是这个 UnsafePointer 东西非常累人。

那么有人会阐明我如何将实际数据放入我的缓冲区,还是我应该拿一本 Objective-C 的书重新做一遍?

func renderCallback(ioData: UnsafeMutablePointer<AudioBufferList>) -> OSStatus 
{
let abl = UnsafeMutableAudioBufferListPointer(ioData)
for buffer in abl {
memset(buffer.mData, 0, Int(buffer.mDataByteSize))
}
return noErr
}

最佳答案

您可以在“for”循环中逐个元素地将数据复制到字节或 Int16 数组中。与 memset 相比,Swift 可能会相当好地优化此循环,这样处理器数据缓存效应最终会主导性能。

关于swift - 再次在 Swift 中使用 AudioBufferList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33129708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com