我正在尝试创建一个语音文本功能,我收到错误:
Initializer for conditional binding must have Optional type, not 'AVAudioInputNode'
guard let inputNode = audioEngine.inputNode else {
fatalError("Audio engine has no input node")
}
答案 0 :(得分:11)
AVAudioEngine
' inputNode
属性不是可选的。首次访问inputNode时,音频引擎会根据需要创建单例。这不可能是零,因为这个后卫没有意义。
所以,只需删除警卫并按原样使用audioEngine.inputNode
即可。它不能是nil
。
在使用之前,您仍需确保inputNode
与某些内容相关联:
检查输入节点的输入格式(特别是硬件 格式)用于非零采样率和通道计数以查看是否输入 已启用。
(来自Apple的文档)