gpt4 book ai didi

ios - SimplePCMRecorder 中的 AudioQueueBufferRef 在 swift 3 中显示错误

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:05 24 4
gpt4 key购买 nike

我想从 iPhone 连接 Alexa,因为我正在使用一个在 Github 上用 swift 2.2 编写的示例

所以我需要将其转换为 Swift 3.0

从 xcode 从 Swift 2.2 迁移到 Swift 3.0 已完成,解决了几乎所有错误,现在唯一剩下的错误与 AudioQueueBufferRef 有关

swift 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:(仅用于参数 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: Expression type 'Array' (aka 'Array>') is ambiguous without more context

SimplePCMRecorder of Swift 2.2 on Github

我在 google 和 stackoverflow 上搜索过,但没有找到解决方案。我尝试重写和谷歌搜索,但没有解决。

谁能告诉我如何解决这个问题?

最佳答案

在 Swift 3 中,使用 AudioQueueBufferRef? 而不是 AudioQueueBufferRef:

let buffers = Array<AudioQueueBufferRef?>(repeating: nil, count: numberBuffers)

// and allocate each buffer
for i in 0 ..< buffers.count {
AudioQueueAllocateBuffer(inQueue!, bufferSize, &buffers[i])
}

关于ios - SimplePCMRecorder 中的 AudioQueueBufferRef 在 swift 3 中显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42923725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com