Visual studio 2015 SpeechRecognitor不工作,COMException:类未注册/UWP应用程序Windows IoT(10.0.10586)和Visual Studio 2015更新1
在我安装了Windows IoT(10.0.10586)和Visual Studio 2015及更新1之后,当我在Raspberry Pi 2(使用Windows IoT 10.0.10586)上使用Universal App中的SpeechRecognizer时,我遇到了COM异常 如果我在Windows 10上运行SpeechRecognizer UWP应用程序,它可以正常工作,COM异常仅在Windows IoT(10.0.10586)中发生。使用旧版本的Windows IoT和Visual Studio 2015(不带更新1),它也可以工作 有人能解决这个问题吗Visual studio 2015 SpeechRecognitor不工作,COMException:类未注册/UWP应用程序Windows IoT(10.0.10586)和Visual Studio 2015更新1,visual-studio-2015,speech-recognition,win-universal-app,uwp,windowsiot,Visual Studio 2015,Speech Recognition,Win Universal App,Uwp,Windowsiot,在我安装了Windows IoT(10.0.10586)和Visual Studio 2015及更新1之后,当我在Raspberry Pi 2(使用Windows IoT 10.0.10586)上使用Universal App中的SpeechRecognizer时,我遇到了COM异常 如果我在Windows 10上运行SpeechRecognizer UWP应用程序,它可以正常工作,COM异常仅在Windows IoT(10.0.10586)中发生。使用旧版本的Windows IoT和Visua
var speechRecognizer=new speechRecognizer();
var约束=新的SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.Dictation,“听写”);
speechRecognizer.Constraints.Add(约束);
wait speechRecognizer.CompileConstraintsAsync();
//此行引发异常:
//引发异常:App.exe中的“System.Runtime.InteropServices.COMException”
//WinRT信息:类未注册
//不支持操作。未知错误:0x80070057。
var result=await speechRecognizer.RecognizeWithUIAsync();
要获取示例工作,请在Package.appxmainifest中启用以下功能:
互联网(客户端)和麦克风
编辑
正如Eric Brown所说,RecognitizeWithUIAsync似乎不适用于Windows IoT(我记得不正确,我似乎从未使用过RecognitizeWithUIAsync,但我知道SpeechRecognitor在过去可以工作)
但是,RecognizeAsync对我也不起作用。不会引发异常,但RecognitizeAsync不会等待语音,它直接返回SpeechRecognitionResult对象,其中属性可信度被拒绝,状态为Success,但语音文本始终为空字符串。它适用于Windows 10,但不适用于Windows IoT
有人知道为什么没有检测到语音/不会返回语音吗
var speechRecognizer=new speechRecognizer();
var约束=新的SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.Dictation,“听写”);
speechRecognizer.Constraints.Add(约束);
wait speechRecognizer.CompileConstraintsAsync();
while(true)
{
var result=await speechRecognizer.RecognizeAsync();
Debug.WriteLine(!string.IsNullOrEmpty(result.Text)?result.Text:“结果中无语音”);
}
要获取示例工作,请在Package.appxmainifest中启用以下功能:
Internet(客户端)和麦克风在Windows IoT中未实现UIAsync识别(因为没有UI)。您可以很好地使用
RecognizeAsync
。最终让SpeechRecognitizer与Windows IoT 10.0.10586和Visual Studio 2015 Update 1协同工作
解决方案:使用与Windows IoT 10.0.10586完全兼容的麦克风。我使用Microsoft LifeCam HD-3000(附带麦克风)
SpeechRecognitor现在使用ContinuousRecognitionSession,使用语法文件(定义用户可以说什么的文件)和听写(自由言论)来识别异步。认识到UIAsync不起作用,也可能永远不会起作用(参见Eric Browns的回答)
注意:如果认为麦克风在任何其他应用程序中工作,那么它也必须与SpeechRecognitor一起工作,这是一个错误。我有一个麦克风,可以与一个简单的录音应用程序配合使用,但不能与SpeechRecognitor配合使用。还请注意,在较旧的Windows IoT版本中使用SpeechRecognizer的话筒并不一定要在Windows IoT 10.0.10586中使用SpeechRecognizer
使用网络摄像头作为麦克风并不太好。如果有人的麦克风与SpeechRecognizer和Windows IoT 10.0.10586配合使用,请张贴
如果您正在寻找带有语法文件示例的SpeechRecognitor ContinuousRecognitionSession,您可以在下面的项目中查找。在评论中,您可以看到如何使用SpeechRecognizer使用其他语言
也许Windows Update中将来会有驱动程序更新,我们不再有此类问题。您是否检查了是否安装了任何语言?谢谢您的回复。我检查过了,是的,我们安装了en-US,我安装了de-de,但仍然不工作。您连接了什么类型的麦克风和音频输入设备?你能确认音频输入工作正常吗?谢谢,好主意。我用一个简单的录音应用程序验证了麦克风是否正常工作。麦克风工作正常,仍然没有语音检测。目前我唯一要检查的另一件事是验证您是否可以访问互联网。如果仍然不起作用,请将您的整个项目发送给我,我会让其他团队成员查看。不过,这要到新年之后才会发生。我已经测试了另外四个usb麦克风。其中两人在Windows IoT 10.0.10568中使用SpeechRecognitor。可以工作的麦克风:“蓝色麦克风雪球”(它真的很大)和“Kinobo-Mini Akiro USB麦克风”。我可以确认,使用Kinobo麦克风在Windows IoT 10.0.10586上可以进行连续语音识别。物美价廉的商品:)也许也很有趣: