SpeechRecognizer.Grammars Property

Gets a collection of the Grammar objects that are loaded in this SpeechRecognizer instance.

Namespace:  System.Speech.Recognition
Assembly:  System.Speech (in System.Speech.dll)

public ReadOnlyCollection<Grammar> Grammars { get; }

Property Value

Type: System.Collections.ObjectModel.ReadOnlyCollection<Grammar>
A collection of the Grammar objects that the application loaded into the current instance of the shared recognizer.

This property does not return any speech recognition grammars loaded by another application.

The following example outputs information to the console for each speech recognition grammar loaded into the shared speech recognizer.

using System;
using System.Collections.Generic;
using System.Speech.Recognition;
using System.Threading;

namespace SharedRecognizer
{
  class Program
  {
    static void Main(string[] args)
    {
      using (SpeechRecognizer recognizer = new SpeechRecognizer())
      {
        Grammar sampleGrammar = new Grammar(new GrammarBuilder("sample phrase"));
        sampleGrammar.Name = "Sample Grammar";
        recognizer.LoadGrammar(sampleGrammar);

        OutputGrammarList(recognizer);
      }

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

    private static void OutputGrammarList(SpeechRecognizer recognizer)
    {
      List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);
      if (grammars.Count > 0)
      {
        Console.WriteLine("Loaded grammars:");
        foreach (Grammar g in grammars)
        {
          Console.WriteLine("  Grammar: {0}",
            (g.Name != null) ? g.Name : "<no name>");
        }
      }
      else
      {
        Console.WriteLine("No grammars loaded.");
      }
    }
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft