通过


SpeechRecognitionEngine.UpdateRecognizerSetting 方法

定义

更新识别器设置的值。

重载

名称 说明
UpdateRecognizerSetting(String, Int32)

使用指定的整数值更新指定的设置 SpeechRecognitionEngine

UpdateRecognizerSetting(String, String)

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

注解

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

名称 说明
ResourceUsage 指定识别器 CPU 消耗量。 范围为 0 到 100。 默认值为 50。
ResponseSpeed 指示语音识别器完成识别操作之前明确输入末尾的沉默长度。 范围为 0 到 10,000 毫秒(ms)。 此设置对应于识别器 EndSilenceTimeout 的属性。 默认值 = 150 毫秒。
ComplexResponseSpeed 指示在语音识别器完成识别操作之前,在不明确输入末尾的静音长度(毫秒)。 范围为 0 到 10,000 毫秒。 此设置对应于识别器 EndSilenceTimeoutAmbiguous 的属性。 默认值 = 500 毫秒。
AdaptationOn 指示声学模型的适应是 ON(值 = 1) 还是 OFF (value = 0)。 默认值为 1 (ON)。
PersistedBackgroundAdaptation 指示背景适应是 ON (value = 1) 还是 OFF (value = 0),并保留注册表中的设置。 默认值为 1 (ON)。

若要返回识别器设置之一,请使用 QueryRecognizerSetting 该方法。

除此以外 PersistedBackgroundAdaptation,使用 UpdateRecognizerSetting 方法设置的属性值仅对当前实例 SpeechRecognitionEngine有效,之后它们会还原为默认设置。

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

UpdateRecognizerSetting(String, Int32)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

使用指定的整数值更新指定的设置 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)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

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

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

另请参阅

适用于