スピーチからテキストへの機能を作成しようとしていますが、エラーが発生しています:
Initializer for conditional binding must have Optional type, not 'AVAudioInputNode'
guard let inputNode = audioEngine.inputNode else {
fatalError("Audio engine has no input node")
}
AVAudioEngine
のinputNode
プロパティはオプションではありません。オーディオエンジンは、inputNodeが最初にアクセスされたときにオンデマンドでシングルトンを作成します。ゼロにすることはできません。そのため、ガードは意味をなしません。
したがって、ガードを削除して、audioEngine.inputNode
をそのまま使用してください。 nil
にはできません。
inputNode
を使用する前に何かに接続されていることを確認する必要があります。
入力ノードの入力形式(具体的には、ハードウェア形式)でゼロ以外のサンプルレートとチャネルカウントを確認し、入力が有効かどうかを確認します。
(Appleのドキュメントから)