SpeechRecognitionEngine.UpdateRecognizerSetting 方法

定义

更新为识别器设置的值。

重载

UpdateRecognizerSetting(String, Int32)

指定的整数值的 SpeechRecognitionEngine 指定设置。

UpdateRecognizerSetting(String, String)

更新指定字符串值设定的指定语音识别引擎。

注解

识别器设置可以包含字符串、64位整数或内存地址数据。 下表描述了为 Microsoft Speech API (SAPI) 兼容的识别器定义的设置。 对于支持设置的每个识别器,以下设置必须具有相同的范围。 支持这些设置并可支持其他设置时,不需要使用 SAPI 兼容的识别器。

名称 说明
ResourceUsage 指定识别器的 CPU 消耗。 范围为0到100。 默认值为 50。
ResponseSpeed 指示语音识别器完成识别操作之前明确输入结束时的静默时间长度。 范围为0到10000毫秒 (ms) 。 此设置对应于识别器的 EndSilenceTimeout 属性。 默认值为150ms。
ComplexResponseSpeed 指示语音识别器完成识别操作之前,以毫秒为单位的静默时间长度(以毫秒为单位) (毫秒) 。 范围为0到10、000ms。 此设置对应于识别器的 EndSilenceTimeoutAmbiguous 属性。 默认值为500毫秒。
AdaptationOn 指示是否在 (值 = 1) 或关闭 (值 =) 时声音模型的适应 0 。 ) (默认值 1
PersistedBackgroundAdaptation 指示是否 (值 = 1) 或关闭 (值 = 0) ,并保留注册表中的设置。 ) (默认值 1

若要返回某个识别器的设置,请使用 QueryRecognizerSetting 方法。

除了之外 PersistedBackgroundAdaptation ,使用方法设置的属性值 UpdateRecognizerSetting 仅对的当前实例保持有效 SpeechRecognitionEngine ,之后它们恢复为其默认设置。

您可以使用 BabbleTimeoutInitialSilenceTimeoutEndSilenceTimeout 和属性修改语音识别对非语音输入的响应方式 EndSilenceTimeoutAmbiguous

UpdateRecognizerSetting(String, Int32)

指定的整数值的 SpeechRecognitionEngine 指定设置。

public:
 void UpdateRecognizerSetting(System::String ^ settingName, int updatedValue);
public void UpdateRecognizerSetting (string settingName, int updatedValue);
member this.UpdateRecognizerSetting : string * int -> unit
Public Sub UpdateRecognizerSetting (settingName As String, updatedValue As Integer)

参数

settingName
String

设置为更新的名称。

updatedValue
Int32

设置的新建值。

例外

settingNamenull

settingName 为空字符串 ("")。

不用该名称设置的识别器。

示例

下面的示例是一个控制台应用程序的一部分,该控制台应用程序为支持 en-us 区域设置的识别器定义的多个设置的值。 该示例更新置信度设置,然后查询识别器来检查更新的值。 该示例生成以下输出。

Settings for recognizer MS-1033-80-DESK:  

  ResourceUsage                  is not supported by this recognizer.  
  ResponseSpeed                  = 150  
  ComplexResponseSpeed           = 500  
  AdaptationOn                   = 1  
  PersistedBackgroundAdaptation  = 1  

Updated settings:  

  ResourceUsage                  is not supported by this recognizer.  
  ResponseSpeed                  = 200  
  ComplexResponseSpeed           = 300  
  AdaptationOn                   = 0  
  PersistedBackgroundAdaptation  = 0  

Press any key to exit...  
using System;  
using System.Globalization;  
using System.Speech.Recognition;  

namespace RecognizerSettings  
{  
  class Program  
  {  
    static readonly string[] settings = new string[] {  
      "ResourceUsage",  
      "ResponseSpeed",  
      "ComplexResponseSpeed",  
      "AdaptationOn",  
      "PersistedBackgroundAdaptation",  
    };  

    static void Main(string[] args)  
    {  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  
        Console.WriteLine("Settings for recognizer {0}:",  
          recognizer.RecognizerInfo.Name);  
        Console.WriteLine();  

        // List the current settings.  
        ListSettings(recognizer);  

        // Change some of the settings.  
        recognizer.UpdateRecognizerSetting("ResponseSpeed", 200);  
        recognizer.UpdateRecognizerSetting("ComplexResponseSpeed", 300);  
        recognizer.UpdateRecognizerSetting("AdaptationOn", 1);  
        recognizer.UpdateRecognizerSetting("PersistedBackgroundAdaptation", 0);  

        Console.WriteLine("Updated settings:");  
        Console.WriteLine();  

        // List the updated settings.  
        ListSettings(recognizer);  
      }  

      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    private static void ListSettings(SpeechRecognitionEngine recognizer)  
    {  
      foreach (string setting in settings)  
      {  
        try  
        {  
          object value = recognizer.QueryRecognizerSetting(setting);  
          Console.WriteLine("  {0,-30} = {1}", setting, value);  
        }  
        catch  
        {  
          Console.WriteLine("  {0,-30} is not supported by this recognizer.",  
            setting);  
        }  
      }  
      Console.WriteLine();  
    }  
  }  
}  

注解

除了之外 PersistedBackgroundAdaptation ,使用方法设置的属性值 UpdateRecognizerSetting 仅对的当前实例保持有效 SpeechRecognitionEngine ,之后它们恢复为其默认设置。 UpdateRecognizerSetting有关支持的设置的说明,请参阅。

另请参阅

适用于

UpdateRecognizerSetting(String, String)

更新指定字符串值设定的指定语音识别引擎。

public:
 void UpdateRecognizerSetting(System::String ^ settingName, System::String ^ updatedValue);
public void UpdateRecognizerSetting (string settingName, string updatedValue);
member this.UpdateRecognizerSetting : string * string -> unit
Public Sub UpdateRecognizerSetting (settingName As String, updatedValue As String)

参数

settingName
String

设置为更新的名称。

updatedValue
String

设置的新建值。

例外

settingNamenull

settingName 为空字符串 ("")。

不用该名称设置的识别器。

注解

除了之外 PersistedBackgroundAdaptation ,使用方法设置的属性值 UpdateRecognizerSetting 仅对的当前实例保持有效 SpeechRecognitionEngine ,之后它们恢复为其默认设置。 UpdateRecognizerSetting有关支持的设置的说明,请参阅。

另请参阅

适用于