Bing Speech停止使用WinRT 8.1商店应用

时间:2016-12-17 08:04:34

标签: c# windows-runtime windows-store-apps winrt-xaml bing-api

我目前正在开发一个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('.');
            }
}

请指导我

由于

1 个答案:

答案 0 :(得分:0)

首先,请检查您的客户ID和客户端密码是否正确,您可以转到Windows Azure Marketplace Developers page并点击 注册 按钮。

注意:您可能会注意到页面顶部的红色横幅 “DataMarket和数据服务正在停用,并将在2016年12月31日之后停止接受新订单。从2017年3月31日开始,现有订阅将被停用并取消。如果您想继续提供服务,请与服务提供商联系以获取选项。“

然后请确保您已将项目配置为语音识别。

  1. 右键点击 Package.appxmanifest 文件,然后选择查看代码添加功能部分
  2. <Capabilities>
    <Capability Name="internetClient" />
    <DeviceCapability Name="microphone" />
    

    1. 功能部分之后立即添加扩展程序部分
    2. <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 speechhow to enable a project for speech recognition.