我正在尝试创建一个语音转文字的功能,但是出现了以下错误:
条件绑定的初始化器必须具有可选类型,而不是'AVAudioInputNode'
guard let inputNode = audioEngine.inputNode else {
fatalError("Audio engine has no input node")
}
我正在尝试创建一个语音转文字的功能,但是出现了以下错误:
条件绑定的初始化器必须具有可选类型,而不是'AVAudioInputNode'
guard let inputNode = audioEngine.inputNode else {
fatalError("Audio engine has no input node")
}
AVAudioEngine
的 inputNode
属性不是可选类型。当首次访问 `inputNode` 时,音频引擎会按需创建一个单例。它不能为 `nil`,因此使用 `guard` 是没有意义的。
因此,只需删除 `guard` 并像原来一样使用 `audioEngine.inputNode` 即可。它不能为 `nil`。
在使用之前,仍需确保 `inputNode` 已连接到某个输入设备:
检查输入节点(特别是硬件格式)的输入格式是否具有非零采样率和通道数,以查看输入是否已启用。
(摘自 Apple 的文档)
inputNode
也是可选的。 - shelll