2016-06-14 38 views
7

結果はnilで、私はデバッグと iOSの10.0音声認識エラーkAFAssistantErrorDomain

以下

Error Domain=kAFAssistantErrorDomain Code=1101 "(null)"

ようなエラーが表示

let urlpath = Bundle.main().pathForResource("myvoice2", ofType: "m4a") 
    let url:URL = URL.init(fileURLWithPath: urlpath!) 

    let recognizer = SFSpeechRecognizer() 
    let request = SFSpeechURLRecognitionRequest(url: url) 
    recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in 
     print (result?.bestTranscription.formattedString) 

    }) 

以下のように私は、音声認識を使用してみてください、あなたはいずれかを持っていますかアイディア?

+0

あなたは 'のInfo.plistでNSSpeechRecognitionUsageDescription'キーを追加しましたか? –

+0

私は既に追加しましたが、同じ問題です。 –

+0

シミュレータと同じ反応があります。私がプロジェクト "SpeakToMe"を開いたとき、Xcode 8 BetaはSwift 2.3からSwift 3への変換を要求しました。私はそれを変換しました。皆は何をしましたか?そして誰もこの変換が問題だと思いますか? –

答えて

11

私は同じエラーがありますが、デバイス上では同じコードが問題なく動作しています。したがって、iOS 10ベータ版を物理デバイスにインストールしてコードを実行してください。このような何かはトリックを行うべき:

SFSpeechRecognizer.requestAuthorization { authStatus in 
    if authStatus == SFSpeechRecognizerAuthorizationStatus.authorized { 
     if let path = Bundle.main().urlForResource("test", withExtension: "m4a") { 
      let recognizer = SFSpeechRecognizer() 
      let request = SFSpeechURLRecognitionRequest(url: path) 
      recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in 
       if let error = error { 
        print("There was an error: \(error)") 
       } else { 
        print (result?.bestTranscription.formattedString) 
       } 
      }) 
     } 
    } 
} 

I wrote about this in more detail here.

+2

これは正しくありがとう@TwoStraws。問題はSimulatorで発生し、実際のデバイスで動作しました。 –

+2

私は実際のデバイスでテストしていますが、問題はまだ存在します。アプリケーションがしばらく実行されているようですが、同じエラーで停止しました: エラードメイン= kAFAssistantErrorDomainコード= 203「タイムアウト」UserInfo = {NSLocalizedDescription =タイムアウト、NSUnderlyingError = 0x17004ff30 {Error Domain = SiriSpeechErrorDomain Code = 100 " ) "}} これについてお考えですか?ありがとう –

+3

@VaVisalタイムアウトエラーは、SFSpeechURLRecognitionRequestインスタンスのendAudioメソッドを呼び出していないことが原因です。 –