Windows Phone 8中的语音识别

时间:2013-08-08 18:13:49

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

This 教程之后,我正在WP8.I代码中执行语音识别示例程序,如:

public async void SpeechToText_Click(object sender, RoutedEventArgs e)
{
  SpeechRecognizerUI speechRecognition=new SpeechRecognizerUI();
  SpeechRecognitionUIResult recoResult=await speechRecognition.RecognizeWithUIAsync();

if (recoResult.ResultStatus == SpeechRecognitionUIStatus.Succeeded)
  {
    MessageBox.Show(string.Format("You said {0}.", recoResult.RecognitionResult.Text));
  }
}

运行程序后,我总是会收到一条消息“我们很抱歉,但我们现在无法访问网络”。 是否需要互联网连接?我检查我的互联网连接但它很好,那么有什么问题,有人可以解释吗?是模拟器问题还是我错过了什么?

3 个答案:

答案 0 :(得分:3)

语音识别需要访问Microsoft云服务。许多人在让他们的模拟器与支持互联网的应用程序良好协作时遇到问题。 Here's the MSDN article有关解决该问题的问题。如果我是你,我会确认您可以使用简单的WebBrowser在模拟器上实际访问互联网并尝试导航到您选择的网站。如果您无法访问外部网站,则语音识别将无法在您的模拟器上运行。

答案 1 :(得分:1)

您可能希望在仿真器上测试语音识别,就像在普通电话上启动它一样。只需在模拟器底部的Windows按钮顶部单击并按住鼠标按钮。

在一个刚刚启动的模拟器上,这应该会产生一个“许可协议”&使用语音命令的说明,用户必须接受/拒绝许可协议。

然后,您可以通过系统测试开放式语音识别,看看您的应用或手机/系统是否有问题。

听起来这不是你的问题,但在我与WP8语音识别的交易中,这个“首播许可证消息”可能会导致你的应用出现一些问题。即使您没有使用WP对话框进行语音识别,也会弹出该许可证通知。您特别在模拟器上看到这一点,因为每次启动它时,它本质上都是一个“新手机”,要求用户接受许可。

答案 2 :(得分:0)

检查以确保您在项目中引用了AppResLib.dll文件。 (例如,如果您尝试本地化应用程序)有一个已知问题,如果找不到本地化版本的Dll文件,则会生成错误消息。

以下是我对此问题的最佳链接:

http://dotnet-redzone.blogspot.com/2012/12/windows-phone-8speech-recognition.html