我正在开发一个新的应用程序,我正在使用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)
答案 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
设置中设置的语言。