UnsafeMutableBufferPointer<AudioBuffer> 语音转文本。悬挂缓冲区指针

UnsafeMutableBufferPointer<AudioBuffer> Speech To Text. Dangling Buffer Pointer

我一直在尝试在 iOS 中实现 Google 的 Speech to Text API,我在他们的 AudioController 文件中发现了这段代码。这段代码

    let buffers = UnsafeMutableBufferPointer<AudioBuffer>(start:
                                                            &bufferList.mBuffers, count: Int(bufferList.mNumberBuffers))
    
    buffers[0].mNumberChannels = 1
    buffers[0].mDataByteSize = inNumberFrames * 2
    buffers[0].mData = nil

给我这个错误

Initialization of 'UnsafeMutableBufferPointer<AudioBuffer>' results in a dangling buffer pointer

我已经尝试过关于这个问题的解决方案 Warning: Initialization of 'UnsafeBufferPointer<T>' results in a dangling buffer pointer,但解决方案没有按预期工作。

有什么帮助吗?

我正在使用相同的 AudioController。我找到了解决方案 here

代码可以这样更新:

let buffers = withUnsafeMutablePointer(to: &bufferList.mBuffers) {
    UnsafeMutableBufferPointer(start: [=10=], count: Int(bufferList.mNumberBuffers))
  }
  ...
  ...    
  // get the recorded samples
  status = withUnsafeMutablePointer(to: &bufferList) {
      AudioUnitRender(AudioController.sharedInstance.remoteIOUnit!,
                               ioActionFlags,
                               inTimeStamp,
                               inBusNumber,
                               inNumberFrames,
                               [=10=])
  }

适合我