Windows Phone 8中的语音识别

本文关键字:语音识别 Phone Windows | 更新日期: 2023-09-27 18:27:06

下面是这个教程我正在WP8中做一个语音识别的示例程序。我的代码如下:

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));
  }
}

运行完程序后,我总是要面对一条消息"很抱歉,我们现在无法访问网络";一个声音说
它需要互联网连接吗?我检查了一下我的网络连接,但它很好,所以有什么问题,有人能解释吗?是模拟器问题还是我遗漏了什么?

Windows Phone 8中的语音识别

语音识别需要访问Microsoft云服务。许多人在让他们的模拟器与支持互联网的应用程序配合使用时遇到了问题。以下是MSDN上关于解决该问题的文章。如果我是你,我会验证你是否可以使用简单的WebBrowser在模拟器上访问互联网,并尝试导航到你选择的网站。如果您无法访问外部网站,语音识别将无法在模拟器上工作。

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

在一个新启动的模拟器上,这应该会带来一个"许可协议"&用于使用用户必须接受/拒绝许可协议的语音命令的指令。

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

听起来这不是你的问题,但在我处理WP8的语音识别时,这个"首次运行许可证消息"可能会导致你的应用程序出现一些问题。即使您没有使用WP对话框进行语音识别,该许可证通知也会弹出。您尤其可以在模拟器上看到这一点,因为每次启动它时,它本质上都是一部"新手机",需要用户接受许可证。

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

这是我所知道的关于这个问题的最佳链接:

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