尝试以文本格式获取语音会导致错误

时间:2014-03-29 06:55:15

标签: c# windows-phone-8

当我尝试在模拟中工作但是当我尝试在设备中它返回一个错误如何解决这个问题这是我的代码 我想以文本格式获得用户语音

private async void Button_Click(object sender, RoutedEventArgs e)
{
    try
    {
        SpeechRecognizerUI speech = new SpeechRecognizerUI();

        await speech.Recognizer.PreloadGrammarsAsync();

        SpeechRecognitionUIResult result = await speech.RecognizeWithUIAsync();

        if (result.ResultStatus == SpeechRecognitionUIStatus.Succeeded)
        {
            MessageBox.Show(result.RecognitionResult.Text);
        }
    }
    catch (Exception)
    {
        throw;
    }
}

错误是 来自HRESULT的异常:0x800455BC 在这一行SpeechRecognitionUIResult result = await speech.RecognizeWithUIAsync();

1 个答案:

答案 0 :(得分: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");

如果您未明确设置上述区域设置,系统将使用手机语音设置中设置的语言。