我想从 iPhone 连接 Alexa,因为我使用的是在Github上用 swift 2.2 编写的示例
所以我需要把它转换成 Swift 3.0
从 Swift 2.2 迁移到 Swift 3.0 从 xcode 完成,几乎解决了所有错误,现在剩下的唯一错误与 AudioQueueBufferRef 有关
斯威夫特 2.2:
self.recorderState = RecorderState(
setupComplete: false,
dataFormat: AudioStreamBasicDescription(),
queue: UnsafeMutablePointer<AudioQueueRef>.alloc(1),
buffers: Array<AudioQueueBufferRef>(count: numberBuffers, repeatedValue: nil),
recordFile: AudioFileID(),
bufferByteSize: 0,
currentPacket: 0,
isRunning: false,
recordPacket: 0,
errorHandler: nil)
Swift 3.0:(仅用于 param buffers
)
let audioBufferQueue = Array<AudioQueueBufferRef>(repeating: nil, count: numberBuffers)
在 swift 2.2 中它工作正常,但在 swift 3.0 中它显示错误
/Users/macbookpro/Downloads/iOS-Alexa-master copy/iOS Alexa/AVS/SimplePCMRecorder.swift:28:32:表达式类型“Array”(又名“Array>”)在没有更多上下文的情况下是模棱两可的
Github 上 Swift 2.2 的 SimplePCMRecorder
我在google和stackoverflow上搜索过,但没有找到解决方案。我尝试重写和谷歌的东西,但没有解决。
谁能告诉我如何解决这个问题?