【问题标题】:Exception HRESULT: 0x800455BC in speech recognition in Windows phone 8异常 HRESULT:Windows phone 8 中语音识别中的 0x800455BC
【发布时间】:2013-07-07 07:07:55
【问题描述】:

我正在开发一个新应用程序,我在其中使用 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)

【问题讨论】:

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


    【解决方案1】:

    该错误消息表示该语言不受支持。我不确定您的语言设置是什么,但您可以使用此语言获取具有您所在区域设置的识别器(将 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 设置中设置的语言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      相关资源
      最近更新 更多