SpeechRecognitionEngine.UpdateRecognizerSetting 方法

定義

更新辨識器的設定值。

多載

UpdateRecognizerSetting(String, Int32)

以指定的整數值更新 SpeechRecognitionEngine 的指定設定。

UpdateRecognizerSetting(String, String)

以指定的字串值來更新指定的語音辨識引擎設定。

備註

辨識器設定可以包含字串、64 位整數或記憶體位址資料。 下表描述針對Microsoft語音 API 所定義的設定, (SAPI) 相容辨識器。 下列設定對於支援設定的每個辨識器都必須有相同的範圍。 不需要符合 SAPI 規範的辨識器才能支援這些設定,而且可以支援其他設定。

名稱 描述
ResourceUsage 指定辨識器的 CPU 耗用量。 範圍是從 0 到 100。 預設值是 50。
ResponseSpeed 表示在語音辨識器完成辨識作業之前,明確輸入結尾的無聲長度。 範圍從 0 到 10,000 毫秒 (毫秒) 。 此設定會對應至辨識器 EndSilenceTimeout 的屬性。 預設值 = 150 毫秒。
ComplexResponseSpeed 表示在語音辨識器完成辨識作業之前,在模棱兩可輸入結尾的) 毫秒 (毫秒的無聲長度。 範圍是從 0 到 10,000 毫秒。 此設定會對應至辨識器 EndSilenceTimeoutAmbiguous 的屬性。 預設值 = 500 毫秒。
AdaptationOn 指出原音模型的調適是否為 ON (value = 1) 或 OFF (value = 0) 。 預設值為 1 ON) (。
PersistedBackgroundAdaptation 指出背景調適為 ON (value = 1) 或 OFF (value = 0) ,並將設定保存在登錄中。 預設值為 1 ON) (。

若要傳回其中一個辨識器設定,請使用 QueryRecognizerSetting 方法。

除了 PersistedBackgroundAdaptation 之外,使用 UpdateRecognizerSetting 方法所設定的屬性值只會對 目前的 實例 SpeechRecognitionEngine 生效,之後它們會還原為其預設設定。

您可以使用 、 InitialSilenceTimeoutEndSilenceTimeoutEndSilenceTimeoutAmbiguous 屬性來修改語音辨識回應非語音輸入 BabbleTimeout 的方式。

UpdateRecognizerSetting(String, Int32)

來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
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)

來源:
SpeechRecognitionEngine.cs
來源:
SpeechRecognitionEngine.cs
來源:
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

另請參閱

適用於