GrammarBuilder Oluşturucular

Tanım

GrammarBuilder sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

GrammarBuilder()

Sınıfının yeni, boş bir örneğini başlatır GrammarBuilder .

GrammarBuilder(Choices)

GrammarBuilderBir alternatif kümesinden sınıfının yeni bir örneğini başlatır.

GrammarBuilder(SemanticResultKey)

GrammarBuilderBir anlam anahtarından sınıfının yeni bir örneğini başlatır.

GrammarBuilder(SemanticResultValue)

Anlamsal değerden sınıfının yeni bir örneğini başlatır GrammarBuilder .

GrammarBuilder(String)

GrammarBuilderBir sözcük dizisinden sınıfın yeni bir örneğini başlatır.

GrammarBuilder(String, SubsetMatchingMode)

GrammarBuilderBir sözcük dizisinin alt kümesi için sınıfının yeni bir örneğini başlatır.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Yinelenen bir öğeden sınıfının yeni bir örneğini başlatır GrammarBuilder .

GrammarBuilder(String, Int32, Int32)

GrammarBuilder' Deki sözcüklerin dizisinden sınıfının yeni bir örneğini başlatır String ve kaç kez String tekrarlanabilir olduğunu belirtir.

Açıklamalar

Bu sınıfın örnekleri, diğer sınıflardan örtük dönüştürmeler tarafından veya GrammarBuilder Yeni bir nesnesi olan bir nesneyi yeni bir ile birleştirerek de elde edilebilir GrammarBuilder . Daha fazla bilgi için bkz Implicit . ve Addition yöntemleri.

Varolan bir kısıtlama eklemek için,,, GrammarBuilder Add Append AppendDictation AppendRuleReference , ve AppendWildcard yöntemlerini ve Addition işlecini kullanın.

Önemli

Konuşma tanıyıcı aynı anahtar adına veya aynı anlam öğesinin değerini tekrar tekrar değiştirebilecek birden çok anlam öğesiyle yinelenen anlam öğeleri içeren bir konuşma tanıma dilbilgisi kullanırken bir özel durum oluşturabilir.

Konuşma tanıma dilmars 'ı oluşturma ve kullanma hakkında daha fazla bilgi için bkz. konuşma tanıma.

GrammarBuilder()

Sınıfının yeni, boş bir örneğini başlatır GrammarBuilder .

public:
 GrammarBuilder();
public GrammarBuilder ();
Public Sub New ()

Örnekler

Aşağıdaki örnek GrammarBuilder Choices , "arka plan renkseçimi yap" veya "arka planı colorChoice olarak ayarla" gibi iki tümcecikden birini tanıyabilecek bir dilbilgisi oluşturmak için ve nesnelerini kullanır.

Örnek, bir Choices nesne dizisinden colorChoice için kabul edilebilir değerlerin bir listesini oluşturmak için bir nesnesi kullanır String . Bir Choices nesne, one-of SRGS belirtiminde bir öğe ile benzerdir ve her biri, konuşulmak üzere tanınabilen bir diğer tümcecik kümesi içerir. Örnek ayrıca, Choices iki nesneden oluşan bir diziyi GrammarBuilder , sonuçta elde edilen dilbilgisinde tanıyabileceği alternatif ifadeler çiftinde gruplandırmak için bir nesnesi kullanır. Diğer kelimeler veya tümcecikler, çoğu dilbilgisi için bir bileşendir ve Choices nesnesi ile oluşturulan dilbilgisi için bu işlevselliği sağlar GrammarBuilder .

Örnek olarak, Grammar nesnesinden oluşturulan öğesinden bir nesne oluşturur GrammarBuilder Choices .

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});  
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases, convert the Choices  
  // to a GrammarBuilder, and construct the Grammar object from the result.  
  GrammarBuilder bothPhrases = new GrammarBuilder();  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  bothPhrases.Append(bothChoices);  
  Grammar grammar = new Grammar(bothPhrases);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Açıklamalar

Varolan bir nesneye kurallar eklemek için,,, GrammarBuilder Add Append AppendDictation AppendRuleReference , ve AppendWildcard yöntemlerini ve Addition işlecini kullanın.

Önemli

Konuşma tanıyıcı aynı anahtar adına veya aynı anlam öğesinin değerini tekrar tekrar değiştirebilecek birden çok anlam öğesiyle yinelenen anlam öğeleri içeren bir konuşma tanıma dilbilgisi kullanırken bir özel durum oluşturabilir.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(Choices)

GrammarBuilderBir alternatif kümesinden sınıfının yeni bir örneğini başlatır.

public:
 GrammarBuilder(System::Speech::Recognition::Choices ^ alternateChoices);
public GrammarBuilder (System.Speech.Recognition.Choices alternateChoices);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Sub New (alternateChoices As Choices)

Parametreler

alternateChoices
Choices

Alternatifler kümesi.

Örnekler

Aşağıdaki örnek GrammarBuilder Choices , "arka plan renkseçimi yap" veya "arka planı colorChoice olarak ayarla" gibi iki tümcecikden birini tanıyabilecek bir dilbilgisi oluşturmak için ve nesnelerini kullanır.

Örnek, bir Choices nesne dizisinden colorChoice için kabul edilebilir değerlerin bir listesini oluşturmak için bir nesnesi kullanır String . Bir Choices nesne, one-of SRGS belirtiminde öğesine benzerdir ve herhangi biri, konuşulmak üzere tanınabilen bir alternatif tümcecik kümesi içerir. Örnek ayrıca, Choices iki nesneden oluşan bir diziyi GrammarBuilder , sonuçta elde edilen dilbilgisinde tanıyabileceği alternatif ifadeler çiftinde gruplandırmak için bir nesnesi kullanır. Diğer kelimeler veya tümcecikler, çoğu dilbilgisi için bir bileşendir ve Choices nesnesi ile oluşturulan dilbilgisi için bu işlevselliği sağlar GrammarBuilder .

Örnek olarak, Grammar nesnesinden oluşturulan öğesinden bir nesne oluşturur GrammarBuilder Choices .

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});  
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases, convert the Choices  
  // to a GrammarBuilder, and construct the grammar from the result.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Açıklamalar

Alternatifleri içeren bir konuşma tanıma dilbilgisi oluşturma hakkında daha fazla bilgi için bkz. bir GrammarBuilder Dilbilgisi oluşturmak Için seçimleri kullanma.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(SemanticResultKey)

GrammarBuilderBir anlam anahtarından sınıfının yeni bir örneğini başlatır.

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultKey ^ key);
public GrammarBuilder (System.Speech.Recognition.SemanticResultKey key);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultKey -> System.Speech.Recognition.GrammarBuilder
Public Sub New (key As SemanticResultKey)

Parametreler

key
SemanticResultKey

Anlamsal anahtar.

Örnekler

Aşağıdaki örnek, "arka plan renklendirmeyi yap" ve "arka planı colorChoice olarak ayarla" şeklinde iki tümceciği tanıyabilecek bir konuşma tanıma dilbilgisi oluşturur; burada colorChoice bir renk kümesinden seçilir. Dilbilgisi, kullanıcının çeşitli renk adlarından herhangi birini konuşmasını sağlar ve tanınan renk adı hakkında anlam bilgilerini uygulamaya döndürür.

Örnek, SemanticResultKey SemanticValue Kullanıcı tarafından konuşulan renkle ilişkili olan öğesini alabileceğiniz tek bir kullanır. Örneğin, giriş "arka planı kırmızıya ayarla" ifadesini içeriyorsa, tanınma sonucu, olay için bir işleyici kullanarak alabileceğiniz "#FF0000" anlam değerini içerir SpeechRecognized .

Örnek, String Choices SemanticResultKey SemanticResultValue GrammarBuilder son nesnede bulunan tüm kısıtlamaları oluşturmak için,,, ve nesnelerini kullanır GrammarBuilder bothPhrases . Son olarak, örnek Grammar tamamlandı öğesinden bir nesne oluşturur GrammarBuilder .

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  // Include semantic information about each of the colors.  
  Choices colorChoice = new Choices();  

  GrammarBuilder colorBuilder = new GrammarBuilder("red");  
  SemanticResultValue colorValue =  
    new SemanticResultValue(colorBuilder, "#FF0000");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  colorBuilder = new GrammarBuilder("green");  
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  colorBuilder = new GrammarBuilder("blue");  
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices object for the two alternative phrases.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);  

  // Create the semantic key for referencing the color information.  
  SemanticResultKey colorKey =  
    new SemanticResultKey("ColorCode", bothPhrases);  
  bothPhrases = new GrammarBuilder(colorKey);  

  // Construct the Grammar object from the GrammarBuilder.  
  Grammar grammar = new Grammar(bothPhrases);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Açıklamalar

Nesnesinden bir örnek oluşturduğunuzda GrammarBuilder SemanticResultValue , tanıma sonucunda döndürülebilecek anlam bilgisine anlam bilgilerini eklersiniz. Tanıma sonucunda anlam bilgilerine Semantics RecognizedPhrase , olay işleyicisinde bulunan öğesinin özelliğini kullanarak erişebilirsiniz SpeechRecognized . , GrammarBuilder Bir tanımlıyorsa SemanticResultKey , bu, anahtarla ilişkili bir tanınma sonucuyla anlam bilgilerini almak için kullanılabilir. İçin örneğe bakın Append(SemanticResultKey) ve ayrıca bkz SemanticResultValue SemanticResultKey . ve.

Önemli

GrammarBuilderVeya örnek içeren nesneler oluşturduğunuzda SemanticResultValue SemanticResultKey , Value bir nesnenin özelliğini sürekli olarak değiştirebilecek aynı anahtar adına veya birden fazla anlam öğesine sahip yinelenen anlam öğeleri oluşturmaktan kaçındığınızdan emin olun SemanticValue . Konuşma tanıyıcı bu koşullara karşılaştığında bir özel durum oluşturabilir.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(SemanticResultValue)

Anlamsal değerden sınıfının yeni bir örneğini başlatır GrammarBuilder .

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultValue ^ value);
public GrammarBuilder (System.Speech.Recognition.SemanticResultValue value);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultValue -> System.Speech.Recognition.GrammarBuilder
Public Sub New (value As SemanticResultValue)

Parametreler

value
SemanticResultValue

Anlam değeri veya ad/değer çifti.

Örnekler

Aşağıdaki örnek, "arka plan renklendirmeyi yap" ve "arka planı colorChoice olarak ayarla" şeklinde iki tümceciği tanıyabilecek bir konuşma tanıma dilbilgisi oluşturur; burada colorChoice bir renk kümesinden seçilir. Dilbilgisi, kullanıcının çeşitli renk adlarından herhangi birini konuşmasını sağlar ve tanınan renk adı hakkında anlam bilgilerini uygulamaya döndürür.

Örnek, SemanticResultKey SemanticValue Kullanıcı tarafından konuşulan renkle ilişkili olan öğesini alabileceğiniz tek bir kullanır. Örneğin, giriş "arka planı kırmızıya ayarla" ifadesini içeriyorsa, tanınma sonucu, olay için bir işleyici kullanarak alabileceğiniz "#FF0000" anlam değerini içerir SpeechRecognized .

Örnek, String Choices SemanticResultKey SemanticResultValue GrammarBuilder son nesnede bulunan tüm kısıtlamaları oluşturmak için,,, ve nesnelerini kullanır GrammarBuilder bothPhrases . Son olarak, örnek Grammar tamamlandı öğesinden bir nesne oluşturur GrammarBuilder .

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  // Include semantic information about each of the colors.  
  Choices colorChoice = new Choices();  

  GrammarBuilder colorBuilder = new GrammarBuilder("red");  
  SemanticResultValue colorValue =  
    new SemanticResultValue(colorBuilder, "#FF0000");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  colorBuilder = new GrammarBuilder("green");  
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  colorBuilder = new GrammarBuilder("blue");  
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");  
  colorChoice.Add(new GrammarBuilder(colorValue));  

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);  

  // Create the semantic key for referencing the color information.  
  SemanticResultKey colorKey =  
    new SemanticResultKey("ColorCode", bothPhrases);  
  bothPhrases = new GrammarBuilder(colorKey);  

  // Construct the grammar from the grammar builder.  
  Grammar grammar = new Grammar(bothPhrases);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Açıklamalar

Nesnesinden bir örnek oluşturduğunuzda GrammarBuilder SemanticResultValue , tanıma sonucunda döndürülebilecek anlam bilgisine anlam bilgilerini eklersiniz. Tanıma sonucunda anlam bilgilerine Semantics RecognizedPhrase , olay işleyicisinde bulunan öğesinin özelliğini kullanarak erişebilirsiniz SpeechRecognized . , GrammarBuilder Bir tanımlıyorsa SemanticResultKey , bu, anahtarla ilişkili bir tanınma sonucuyla anlam bilgilerini almak için kullanılabilir. İçin örneğe bakın Append(SemanticResultKey) ve ayrıca bkz SemanticResultValue SemanticResultKey . ve.

Önemli

GrammarBuilderVeya örnek içeren nesneler oluşturduğunuzda SemanticResultValue SemanticResultKey , Value bir nesnenin özelliğini sürekli olarak değiştirebilecek aynı anahtar adına veya birden fazla anlam öğesine sahip yinelenen anlam öğeleri oluşturmaktan kaçındığınızdan emin olun SemanticValue . Konuşma tanıyıcı bu koşullara karşılaştığında bir özel durum oluşturabilir.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(String)

GrammarBuilderBir sözcük dizisinden sınıfın yeni bir örneğini başlatır.

public:
 GrammarBuilder(System::String ^ phrase);
public GrammarBuilder (string phrase);
new System.Speech.Recognition.GrammarBuilder : string -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String)

Parametreler

phrase
String

Sözcüklerin sırası.

Örnekler

Aşağıdaki örnek GrammarBuilder Choices , "arka plan renkseçimi yap" veya "arka planı colorChoice olarak ayarla" gibi iki tümcecikden birini tanıyabilecek bir dilbilgisi oluşturmak için ve nesnelerini kullanır.

Bir nesne kullanarak colorChoice için kabul edilebilir değerlerin bir listesini oluşturduktan sonra, Choices örnek iki GrammarBuilder nesneyi makePhrase ve setPhrase bağımsız değişken olarak bir dize kullanarak başlatır.

Örnek olarak, nesneye bir nesne atama nesnesinden bir nesne oluşturur Grammar Choices GrammarBuilder .

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});  
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases, convert the Choices  
  // to a GrammarBuilder, and construct the Grammar object from the result.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Açıklamalar

İfade, konuşma tanıma dilbilgisinde tanıyabileceği, tam olarak konuşulan bir tümceciği temsil eder. Dizeler içeren bir konuşma tanıma dilbilgisi oluşturma hakkında daha fazla bilgi için bkz. bir GrammarBuilder Dilbilgisi oluşturmak Için dizeleri kullanma.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(String, SubsetMatchingMode)

GrammarBuilderBir sözcük dizisinin alt kümesi için sınıfının yeni bir örneğini başlatır.

public:
 GrammarBuilder(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public GrammarBuilder (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
new System.Speech.Recognition.GrammarBuilder : string * System.Speech.Recognition.SubsetMatchingMode -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Parametreler

phrase
String

Sözcüklerin sırası.

subsetMatchingCriteria
SubsetMatchingMode

Konuşma tanıma dilbilgisinin, tümceciği tanımak için kullandığı eşleştirme modu.

Örnekler

Aşağıdaki örnek, her bir değer için bir konuşma tanıma dilbilgisi SubsetMatchingMode ve eşleşen mod dilbilgisinde seçim yapmak için bir dilbilgisi oluşturur. Değeri phrase "1 2 3 4 5 6 7" ise, alt dizi dilbilgisi "2 3 4" girişini tanır, ancak "1 3 5" girişini vermez. Ancak, sıralı alt küme dilbilgisi Bu girişlerin her ikisini de tanır.

private static IEnumerable<Grammar>  
  CreateMatchingModeGrammars(string phrase)  
{  
  List<Grammar> grammars = new List<Grammar>(5);  

  Choices modeChoice = new Choices();  
  Type enumType = typeof(SubsetMatchingMode);  
  foreach (SubsetMatchingMode mode in Enum.GetValues(enumType))  
  {  
    string modeName = Enum.GetName(enumType, mode);  
    modeName = BreakAtCaps(modeName);  

    GrammarBuilder builder = new GrammarBuilder(phrase, mode);  
    Grammar modeGrammar = new Grammar(builder);  
    modeGrammar.Name = modeName;  
    modeGrammar.Enabled = false;  
    grammars.Add(modeGrammar);  

    modeChoice.Add(modeName);  
  }  

  Grammar choiceGrammar = new Grammar(modeChoice);  
  choiceGrammar.Name = "choice";  
  grammars.Add(choiceGrammar);  

  return grammars;  
}  

// Insert spaces preceding each uppercase letter in a string.   
private static string BreakAtCaps(string item)  
{  
  if (item == null || item.Length == 0)  
  {  
    return item;  
  }  

  StringBuilder sb = new StringBuilder(item[0].ToString());  
  for (int i = 1; i < item.Length; i++)  
  {  
    char c = item[i];  
    if (char.IsUpper(c))  
    {  
      sb.Append(" ");  
    }  
    sb.Append(c);  
  }  

  return sb.ToString();  
}  

Açıklamalar

phraseParametresi, konuşma tanıma dilbilgisinde tanıyabileceği tümceciği temsil eder. subsetMatchingModeParametresi, tüm ifadenin başarılı bir şekilde tanınmasını sağlamak için söylenebilir bir tümcecik alt kümesini belirtir. Bu, uzun adlara sahip girişlerin bir listesini içeren bir dilbilgisi oluşturmak için kullanabilirsiniz. Bu, kullanıcıların tüm adı bir öğeyle eşleşecek şekilde konuşmasına gerek kalmadan.

Eşleşen modlar hakkında daha fazla bilgi için bkz SubsetMatchingMode .. Dizeler içeren bir konuşma tanıma dilbilgisi oluşturma hakkında daha fazla bilgi için bkz. bir GrammarBuilder Dilbilgisi oluşturmak Için dizeleri kullanma.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(GrammarBuilder, Int32, Int32)

Yinelenen bir öğeden sınıfının yeni bir örneğini başlatır GrammarBuilder .

public:
 GrammarBuilder(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public GrammarBuilder (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.GrammarBuilder * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Parametreler

builder
GrammarBuilder

Yinelenen öğe.

minRepeat
Int32

Tarafından tanımlanan öğe ile eşleşen en az sayıda girdinin builder bir eşleşme oluşturması için gerçekleşmesi gerekir.

maxRepeat
Int32

Tarafından tanımlanan öğe ile eşleşen en fazla kaç kez builder eşleşme meydana gelebilir.

Örnekler

Aşağıdaki örnek, bir pizza sıralamak için bir konuşma tanıma dilbilgisi oluşturur. İsteğe bağlı, açma ifadesi ve sonra bir ile dört toppings arasında başlar ve "pizza" sözcüğüyle birlikte kapanır.

private static Grammar CreatePizzaGrammar()  
{  

  // Create a Choices object from a string array of alternative toppings.  
  Choices toppings = new Choices(new string[] {  
    "cheese", "mushroom", "tomato", "onion",  
    "anchovy", "chicken", "pepperoni"});  

  // Create a GrammarBuilder and append the Choices object.  
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);  
  andToppings.Append(toppings);  

  // Construct the phrase.  
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);  
  gb.Append(toppings);  
  gb.Append(new GrammarBuilder(andToppings, 0, 3));  
  gb.Append("pizza");  

  // Create the Grammar from the GrammarBuilder.  
  Grammar grammar = new Grammar(gb);  
  grammar.Name = "Pizza Order";  

  return grammar;  
}  

Açıklamalar

Değeri minRepeat 0 ise, yeni GrammarBuilder bir isteğe bağlı öğeyi temsil eder.

Değeri minRepeat 0 ' dan büyük veya buna eşit ve değerinden küçük ya da buna eşit olmalıdır maxRepeat .

Önemli

GrammarBuilderVeya örnek içeren nesneler için tekrarlar belirttiğinizde SemanticResultValue SemanticResultKey , Value bir nesnenin özelliğini sürekli olarak değiştirebilecek aynı anahtar adına veya birden çok anlam öğesine sahip yinelenen anlam öğeleri oluşturmaktan kaçındığınızdan emin olun SemanticValue . Konuşma tanıyıcı bu koşullara karşılaştığında bir özel durum oluşturabilir.

Ayrıca bkz.

Şunlara uygulanır

GrammarBuilder(String, Int32, Int32)

GrammarBuilder' Deki sözcüklerin dizisinden sınıfının yeni bir örneğini başlatır String ve kaç kez String tekrarlanabilir olduğunu belirtir.

public:
 GrammarBuilder(System::String ^ phrase, int minRepeat, int maxRepeat);
public GrammarBuilder (string phrase, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : string * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Parametreler

phrase
String

Yinelenen sözcük dizisi.

minRepeat
Int32

Bir eşleşme oluşturması için tümcecikle eşleşen girişin en az kaç kez oluşması gerekir.

maxRepeat
Int32

Bir eşleşme sağlamak için tümcecikle eşleşen girdinin oluşma en fazla sayısı.

Örnekler

Aşağıdaki örnek, bir pizza sıralamak için bir konuşma tanıma dilbilgisi oluşturur. İsteğe bağlı, açma ifadesi ve sonra bir ile dört toppings arasında başlar ve "pizza" sözcüğüyle birlikte kapanır.

private static Grammar CreatePizzaGrammar()  
{  

  // Create a Choices object with alternatives for toppings.  
  Choices toppings = new Choices(new string[] {  
    "cheese", "mushroom", "tomato", "onion",  
    "anchovy", "chicken", "pepperoni"});  

  // Create a GrammarBuilder and append the Choices object.  
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);  
  andToppings.Append(toppings);  

  // Construct the phrase.  
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);  
  gb.Append(toppings);  
  gb.Append(new GrammarBuilder(andToppings, 0, 3));  
  gb.Append("pizza");  

  // Create the Grammar from the GrammarBuilder.  
  Grammar grammar = new Grammar(gb);  
  grammar.Name = "Pizza Order";  

  return grammar;  
}  

Açıklamalar

Değeri minRepeat 0 ise, yeni GrammarBuilder bir isteğe bağlı öğeyi temsil eder.

Değeri minRepeat 0 ' dan büyük veya buna eşit ve değerinden küçük ya da buna eşit olmalıdır maxRepeat . Dizeler içeren bir konuşma tanıma dilbilgisi oluşturma hakkında daha fazla bilgi için bkz. bir GrammarBuilder Dilbilgisi oluşturmak Için dizeleri kullanma.

Ayrıca bkz.

Şunlara uygulanır