我目前正在开发一个WinRT 8.1商店应用程序,在这个应用程序中,我正在使用Bing.Speech SDk,它在一个月前工作正常。但现在它停止了工作。我现在找不到它。
这是代码。
使用Bing.Speech;
public async void GetSpeechText()
{
var credentials = new SpeechAuthorizationParameters();
credentials.ClientId = "ClientID";
credentials.ClientSecret = "My Secret";
SpeechRecognizer SR = new SpeechRecognizer("en-US", credentials);
var result = await SR.RecognizeSpeechToTextAsync();
if (result.TextConfidence != SpeechRecognitionConfidence.Low)
{
lblError.Text = "";
txtBox.Text = string.IsNullOrEmpty(result.Text) ? "" : result.Text.Trim('.');
}
}
请指导我
由于
答案 0 :(得分:0)
首先,请检查您的客户ID和客户端密码是否正确,您可以转到Windows Azure Marketplace Developers page并点击 注册 按钮。
注意:您可能会注意到页面顶部的红色横幅 “DataMarket和数据服务正在停用,并将在2016年12月31日之后停止接受新订单。从2017年3月31日开始,现有订阅将被停用并取消。如果您想继续提供服务,请与服务提供商联系以获取选项。“
然后请确保您已将项目配置为语音识别。
<Capabilities>
<Capability Name="internetClient" />
<DeviceCapability Name="microphone" />
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>Microsoft.Speech.VoiceService.MSSRAudio.dll</Path>
<ActivatableClass ActivatableClassId="Microsoft.Speech.VoiceService.MSSRAudio.Encoder" ThreadingModel="both" />
</InProcessServer>
</Extension>
<Extension Category="windows.activatableClass.proxyStub">
<ProxyStub ClassId="5807FC3A-A0AB-48B4-BBA1-BA00BE56C3BD">
<Path>Microsoft.Speech.VoiceService.MSSRAudio.dll</Path>
<Interface Name="IEncodingSettings" InterfaceId="C97C75EE-A76A-480E-9817-D57D3655231E" />
</ProxyStub>
</Extension>
<Extension Category="windows.activatableClass.proxyStub">
<ProxyStub ClassId="F1D258E4-9D97-4BA4-AEEA-50A8B74049DF">
<Path>Microsoft.Speech.VoiceService.Audio.dll</Path>
<Interface Name="ISpeechVolumeEvent" InterfaceId="946379E8-A397-46B6-B9C4-FBB253EFF6AE" />
<Interface Name="ISpeechStatusEvent" InterfaceId="FB0767C6-7FAA-4E5E-AC95-A3C0C4D72720" />
</ProxyStub>
</Extension>
</Extensions>
由于 “DataMarket和数据服务正在退休,并将在2016年12月31日之后停止接受新订单。现有订阅将从2017年3月31日开始退休并取消“, 我建议您使用WinRT Speech API。
更多信息,您可以参考how to register speech和how to enable a project for speech recognition.