ios - AudioBufferList 在 Swift 中分配

标签 ios swift3 core-audio audiobuffer audiobufferlist

我正在为这个 API 和 Swift 中的语法苦苦挣扎

audioBufferList = AudioBufferList(mNumberBuffers: 2, mBuffers: (AudioBuffer))

我不知道 (AudioBuffer) 和 ( ) 是什么意思?任何想法以及如何初始化它?这是来自标题:

  public struct AudioBufferList {

      public var mNumberBuffers: UInt32
      public var mBuffers: (AudioBuffer) // this is a variable length array of mNumberBuffers elements
      public init()
      public init(mNumberBuffers: UInt32, mBuffers: (AudioBuffer))
 }

最佳答案

这是一种初始化 AudioBufferList 的方法,它带有一个空的单声道缓冲区数组,您可以将其传递给音频单元调用,例如 AudioUnitRender(),然后根据需要分配和填充缓冲区:

var bufferList = AudioBufferList(
        mNumberBuffers: 1,
        mBuffers: AudioBuffer(
            mNumberChannels: UInt32(1),
            mDataByteSize: 1024,
            mData: nil))

关于ios - AudioBufferList 在 Swift 中分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43667261/

相关文章:

ios - 使用 Windows 为 IOS 构建 Expo 应用程序

ios - iOS 设备上的白色/空白屏幕,但在模拟器和 Android 上工作正常

iOS:实现多个部分设置的最佳方式

ios - 使用 Swift 对日历进行 Google 身份验证

osx-lion - 从音频虚拟驱动程序处理空闲 sleep - Mac OSX

iphone - 从 URL 读取 JSON 并添加 MKAnnotations

swift3 - 在 Swift 3 中向 UISwitch 添加选择器会出现 'Use of unresolved identifier' 错误

ios - 如何知道 CollectionView 中 Header 的特定部分是否滚出屏幕边界?

ios - 是否需要通用输出来简单地将示例写入文件?

iphone - 模拟器中的 AudioQueue 回调,但不在设备上