SrgsNameValueTag 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 SrgsNameValueTag 類別的新執行個體。
多載
SrgsNameValueTag() |
初始化 SrgsNameValueTag 類別的新執行個體。 |
SrgsNameValueTag(Object) |
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的值。 |
SrgsNameValueTag(String, Object) |
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的名稱和值。 |
SrgsNameValueTag()
初始化 SrgsNameValueTag 類別的新執行個體。
public:
SrgsNameValueTag();
public SrgsNameValueTag ();
Public Sub New ()
適用於
SrgsNameValueTag(Object)
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的值。
public:
SrgsNameValueTag(System::Object ^ value);
public SrgsNameValueTag (object value);
new System.Speech.Recognition.SrgsGrammar.SrgsNameValueTag : obj -> System.Speech.Recognition.SrgsGrammar.SrgsNameValueTag
Public Sub New (value As Object)
參數
例外狀況
value
為 null
。
範例
下列範例會建立文法來選擇航班城市。 此範例會使用 SrgsNameValueTag 將語意值指派給每個城市,也就是城市機場的程式碼。
此範例會建構兩 SrgsRuleRef 個實例,每個實例都會指定語意索引鍵。 這兩個規則參考都會以相同的 SrgsRule 物件為目標,名為 cities
,但會以不同的語意索引鍵標記規則參考的辨識結果。 語意索引鍵會將已辨識的城市識別為航班的出發城市或抵達城市。 事件的處理常式 SpeechRecognized 會使用索引鍵來擷取從辨識結果建立 SrgsNameValueTag 的語意值。
using System;
using System.Speech.Recognition;
using System.Speech.Recognition.SrgsGrammar;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize a SpeechRecognitionEngine object.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
// Build a rule with a list of cities, assign a semantic value to each city.
SrgsItem chi = new SrgsItem("Chicago");
chi.Add(new SrgsNameValueTag("ORD"));
SrgsItem bos = new SrgsItem("Boston");
bos.Add(new SrgsNameValueTag("BOS"));
SrgsItem mia = new SrgsItem("Miami");
mia.Add(new SrgsNameValueTag("MIA"));
SrgsItem dal = new SrgsItem("Dallas");
dal.Add(new SrgsNameValueTag("DFW"));
SrgsOneOf cities = new SrgsOneOf(new SrgsItem[] { chi, bos, mia, dal });
SrgsRule citiesRule = new SrgsRule("flightCities");
citiesRule.Add(cities);
// Build the root rule, add rule references to the cities rule.
SrgsRule flightBooker = new SrgsRule("bookFlight");
flightBooker.Add(new SrgsItem("I want to fly from"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "departureCity"));
flightBooker.Add(new SrgsItem("to"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "arrivalCity"));
// Build an SrgsDocument object from the flightBooker rule and add the cities rule.
SrgsDocument cityChooser = new SrgsDocument(flightBooker);
cityChooser.Rules.Add(citiesRule);
// Create a Grammar object from the SrgsDocument and load it to the recognizer.
Grammar departArrive = new Grammar(cityChooser);
departArrive.Name = ("Cities Grammar");
recognizer.LoadGrammarAsync(departArrive);
// Configure recognizer input.
recognizer.SetInputToDefaultAudioDevice();
// Attach a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Start asynchronous recognition.
recognizer.RecognizeAsync();
Console.WriteLine("Starting asynchronous recognition...");
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The departure city is: " + e.Result.Semantics["departureCity"].Value);
Console.WriteLine(" The destination city is: " + e.Result.Semantics["arrivalCity"].Value);
}
}
}
適用於
SrgsNameValueTag(String, Object)
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的名稱和值。
public:
SrgsNameValueTag(System::String ^ name, System::Object ^ value);
public SrgsNameValueTag (string name, object value);
new System.Speech.Recognition.SrgsGrammar.SrgsNameValueTag : string * obj -> System.Speech.Recognition.SrgsGrammar.SrgsNameValueTag
Public Sub New (name As String, value As Object)
參數
- name
- String
在 Name 物件上用來設定 SrgsNameValueTag 屬性的字串。
- value
- Object
在 Value 物件上用來設定 SrgsNameValueTag 屬性的物件。
例外狀況
name
為空字串。