异常HRESULT:在Windows Phone 8中的语音识别中为0x800455BC

时间:2013-07-07 07:07:56

标签: c# windows-phone-8 windows-phone

我正在开发一个新的应用程序,我正在使用Windows Phone 8的语音识别功能。但是,我得到以下例外:

  

HRESULT的异常:0x800455BC

     

在   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务   任务)   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务   任务)在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()   在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);
         }
 }

当我运行应用程序并单击按钮发言时,它会显示消息确认几秒钟然后消失。

注意:我正在测试我的手机这个应用程序。 (诺基亚Lumia 920)

1 个答案:

答案 0 :(得分: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设置中设置的语言。