1

以下代码:

  var mutableDataP = UnsafeMutablePointer<Int16>(audioBuffer.mData)
  let stereoSampleArray = UnsafeMutableBufferPointer(
      start: mutableDataP,
      count: nBytesInBuffer/sizeof(Int16)    // Int16 audio samples
  )

给出以下错误:

无法将“UnsafeMutablePointer”类型的值转换为预期的参数类型“UnsafeMutablePointer<_>”

什么是 UnsafeMutablePointer<__> 以及如何转换它?我尝试了所有我能想到的铸造变体,并且对每个变体都得到了无法理解的诊断结果,但我已经没有想法了。我发现关于各种 UnsafeMutablePointer 类型的文档没有帮助,而且根本没有提到“<_>”。

4

1 回答 1

0

试试这个改变:

let stereoSampleArray = withUnsafeMutablePointer(to: &audioBuffer.mData){
       return UnsafeMutableBufferPointer(
              start: $0,
              count: nBytesInBuffer/MemoryLayout<Int16>.size    // Int16 audio samples
             )
       }

audioBuffer.mData一个在哪里var

于 2016-09-20T17:32:30.510 回答