2016-06-14 2 views
7

내가아이폰 OS 10.0 음성 인식 오류 kAFAssistantErrorDomain

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) 

    }) 

그 결과 다음과 같이 음성 인식을 사용해보십시오 내가 디버깅 및

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

당신은 어떤이 있습니까 아래와 같이 오류를 참조 무기 호입니다 생각?

+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. 이 문제는 시뮬레이터에서 발생하며 실제 장치에서 작동합니다. –

+2

실제 장치에서 테스트를 해봤는데 문제가 여전히 있습니다. 그것은 응용 프로그램이 잠시 동안 실행되는 것과 같지만 동일한 오류로 중지되었습니다. 오류 도메인 = kAFAssistantErrorDomain 코드 = 203 "시간 초과"UserInfo = {NSLocalizedDescription = 시간 초과, NSUnderlyingError = 0x17004ff30 {오류 도메인 = SiriSpeechErrorDomain Code = 100 ") "}} 이것에 대해 생각해보십시오. 감사합니다 –

+3

@VaVisal 시간 초과 오류는 SFSpeechURLRecognitionRequest 인스턴스의 endAudio 메소드를 절대로 호출하지 않아서 발생합니다. –