【发布时间】:2016-11-30 15:56:19
【问题描述】:
我真的被一个愚蠢且看似简单的问题发疯了......
我必须将Data 转换为AVAudioPCMBuffer。
看this question 似乎很容易,但随着 Swift 3 一切都变了。这种被诅咒的语言不断变化(抱歉爆发)!
我有这段代码
let audioBuffer = AVAudioPCMBuffer(pcmFormat: audioFormat!, frameCapacity: UInt32(data.count)/(audioFormat?.streamDescription.pointee.mBytesPerFrame)!)
audioBuffer.frameLength = audioBuffer.frameCapacity
let channels = UnsafeBufferPointer(start: audioBuffer.floatChannelData, count: Int(audioFormat!.channelCount))
data.copyBytes(to: UnsafeMutablePointer<Float>(channels[0]))
但是最后一行给了我这个错误:
Cannot convert value of type 'UnsafeMutablePointer<Float>' to expected
argument type 'UnsafeMutablePointer<_>'
有人可以解决这个问题吗?
【问题讨论】:
-
您可能需要将第三行声明为
UnsafeBufferPointer<Float>?
标签: swift swift3 unsafemutablepointer avaudiopcmbuffer