2013-07-07 67 views
2

我正在開發一個新的應用,在那裏我使用的Windows Phone 8,但是語音識別能力,我得到以下異常:從異常HRESULT:0x800455BC在Windows手機的語音識別8

異常HRESULT:0x800455BC

在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在System.Runtime.CompilerServices.TaskAwaiter`1。 GetResul T() 在ExcerciseMod7Voice.MainPage.d__4.MoveNext()

這是我想要使用的代碼:

private async void btnSpeak_Click(object sender, RoutedEventArgs e) 
{ 
     var recognizer = new SpeechRecognizerUI(); 
     recognizer.Settings.ShowConfirmation = true; 
     recognizer.Settings.ReadoutEnabled = false; 

     try 
     { 
      var result = await recognizer.RecognizeWithUIAsync(); 
      if (result.ResultStatus == SpeechRecognitionUIStatus.Succeeded) 
      { 
       MessageBox.Show(result.RecognitionResult.Text); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
} 

當我運行的應用程序,我點擊按鈕說話它會顯示消息確認幾秒鐘,然後消失。

注:我直接測試到我的手機這個應用程序。 (Nokia Lumia 920)

回答

3

該錯誤消息表示該語言不受支持。我不知道你的語言設置是什麼,但你可以使用這個(交換en-GB你想要的文化)

var localRec = InstalledSpeechRecognizers.All 
         .Where(r => r.Language == "en-GB").FirstOrDefault(); 

獲得與您所在區域的識別然後設定識別與語言

if(localRec != null) 
    recognizer.Recognizer.SetRecognizer(localRec); 
else 
    MessageBox.Show("Recognizer with the language not found"); 

如果您未明確設置上述區域,則系統將使用手機Speech設置中設置的語言。

+0

優秀。它就像一個魅力:-)非常感謝 – MikePR

+0

不客氣:) – keyboardP