次の方法で共有


SpeechRecognizer.Grammars プロパティ

定義

この Grammar インスタンスに読み込まれる SpeechRecognizer オブジェクトのコレクションを取得します。

public:
 property System::Collections::ObjectModel::ReadOnlyCollection<System::Speech::Recognition::Grammar ^> ^ Grammars { System::Collections::ObjectModel::ReadOnlyCollection<System::Speech::Recognition::Grammar ^> ^ get(); };
public System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Recognition.Grammar> Grammars { get; }
member this.Grammars : System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Recognition.Grammar>
Public ReadOnly Property Grammars As ReadOnlyCollection(Of Grammar)

プロパティ値

アプリケーションが共有認識エンジンの現在のインスタンスに読み込んだ Grammar オブジェクトのコレクション。

次の例では、共有音声認識エンジンに読み込まれた音声認識文法ごとに、コンソールに情報を出力します。

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.");
      }
    }
}

注釈

このプロパティは、別のアプリケーションによって読み込まれた音声認識文法を返しません。

適用対象

こちらもご覧ください