次の方法で共有


Grammar コンストラクター

定義

Grammar クラスの新しいインスタンスを初期化します。

オーバーロード

Grammar()

Grammar クラスの新しいインスタンスを初期化します。

Grammar(SrgsDocument, String, Uri, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前と、相対参照を解決するためのベース URI を指定します。

Grammar(Stream, String, Uri, Object[])

Grammar クラスの新しいインスタンス Stream を初期化し、ルート規則および相対参照を解決するためのベース URI を指定します。

Grammar(SrgsDocument, String, Uri)

オブジェクトからクラスの新しいインスタンスをGrammarSrgsDocument初期化し、ルート 規則を指定し、基本の Uniform Resource Identifier (URI) を定義して、相対ルール参照を解決します。

Grammar(SrgsDocument, String, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前を指定します。

Grammar(Stream, String, Uri)

ストリームから Grammar クラスの新しいインスタンスを初期化し、ルート規則を指定して、相対的な規則の参照を解決するためのベース URI (Uniform Resource Identifier) を定義します。

Grammar(Stream, String, Object[])

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。

Grammar(String, String, Object[])

文法定義を含むファイルから Grammar クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントであるルールの名前を指定します。

Grammar(SrgsDocument, String)

オブジェクトからクラスの新しいインスタンスをGrammarSrgsDocument初期化し、ルート規則を指定します。

Grammar(Stream, String)

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。

Grammar(String)

ファイルから Grammar クラスの新しいインスタンスを初期化します。

Grammar(SrgsDocument)

Grammar オブジェクトから SrgsDocument クラスの新しいインスタンスを初期化します。

Grammar(String, String)

ファイルから Grammar クラスの新しいインスタンスを初期化し、ルート ルールを指定します。

Grammar(GrammarBuilder)

Grammar オブジェクトから GrammarBuilder クラスの新しいインスタンスを初期化します。

Grammar(Stream)

Grammar から Stream クラスの新しいインスタンスを初期化します。

注釈

コンストラクターをGrammar使用して、サポートされている形式で文法の説明をSrgsDocumentGrammarBuilder含むファイルまたはファイルから、またはStreamオブジェクトからインスタンスを作成Grammarできます。 サポートされる形式は次のとおりです。

引数で XML 形式の文法ファイルを受け取る文法コンストラクターは、XML 文法をバイナリ形式にコンパイルして、音声認識エンジンによる読み込みと使用に最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

音声認識文法では、ルート規則を定義できます。 ルート 規則として使用するルールを指定するオブジェクトを作成 Grammar するには、パラメーターを受け入れるコンストラクターを ruleName 使用します。

相対ルール参照を Grammar 解決するベース URI を指定するオブジェクトを作成するには、パラメーターを受け取るコンストラクターを baseUri 使用します。

Grammar()

Grammar クラスの新しいインスタンスを初期化します。

protected:
 Grammar();
protected Grammar ();
Protected Sub New ()

適用対象

Grammar(SrgsDocument, String, Uri, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前と、相対参照を解決するためのベース URI を指定します。

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, Uri ^ baseUri, cli::array <System::Object ^> ^ parameters);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, Uri baseUri, object[] parameters);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * Uri * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, baseUri As Uri, parameters As Object())

パラメーター

srgsDocument
SrgsDocument

音声認識文法の制約を格納している SrgsDocument のインスタンス。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

baseUri
Uri

文法の説明で相対的なルール参照を解決するために使用するベース URI または null

parameters
Object[]

エントリ ポイントの OnInit プロパティによって指定された初期化ハンドラーに渡されるパラメーター、または作成する Grammar のルート ルール。 このパラメーターは null でもかまいません。

例外

  • いずれかのパラメーターに無効な値が含まれています。

  • srgsDocument で指定された SrgsDocument は、ruleName が指定した規則を含みません。

  • 配置パラメーターの内容が、ルールのいずれの初期化ハンドラーの引数とも一致しません。

  • 文法には、文法の既定のベース Uri ルールまたは baseUri によって提供された URI では解決できない相対的なルール参照があります。

注釈

初期化ハンドラーのパラメーターも指定できます。

適用対象

Grammar(Stream, String, Uri, Object[])

Grammar クラスの新しいインスタンス Stream を初期化し、ルート規則および相対参照を解決するためのベース URI を指定します。

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, Uri ^ baseUri, cli::array <System::Object ^> ^ parameters);
public Grammar (System.IO.Stream stream, string ruleName, Uri baseUri, object[] parameters);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * Uri * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, baseUri As Uri, parameters As Object())

パラメーター

stream
Stream

文法の仕様を含む入出力オブジェクト (ファイル、VisualStudio リソース、DLL など) に接続された Stream

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

baseUri
Uri

文法の説明で相対的なルール参照を解決するために使用するベース URI または null

parameters
Object[]

エントリ ポイントの OnInit プロパティによって指定された初期化ハンドラーに渡されるパラメーター、または作成する Grammar のルート ルール。 このパラメーターは null でもかまいません。

例外

  • いずれかのパラメーターに無効な値が含まれています。

  • stream は、 ruleName で指定されている規則を含まない文法に接続されています。

  • 配置パラメーターの内容が、ルールのいずれの初期化ハンドラーの引数とも一致しません。

  • 文法には、文法の既定のベース Uri ルールまたは baseUri によって提供された URI では解決できない相対的なルール参照が含まれています。

注釈

初期化ハンドラーのパラメーターも指定できます。

適用対象

Grammar(SrgsDocument, String, Uri)

オブジェクトからクラスの新しいインスタンスをGrammarSrgsDocument初期化し、ルート 規則を指定し、基本の Uniform Resource Identifier (URI) を定義して、相対ルール参照を解決します。

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, Uri ^ baseUri);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, Uri baseUri);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * Uri -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, baseUri As Uri)

パラメーター

srgsDocument
SrgsDocument

音声認識文法の制約。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子、または SrgsDocument の既定のルート ルールを使用する場合は null

baseUri
Uri

SrgsDocument で相対的なルール参照を解決するために使用するベース URI または null

例外

ruleName は解決できないか、パブリックではないか、ruleNamenullsrgsDocument にルート規則が含まれていません。

srgsDocumentnullです。

srgsDocument には、解決できないルール参照が含まれています。

次の例では、cities.xml ファイルへの相対ルール参照を含む音声認識文法 SrgsDocument を作成し、ルール参照の解決に使用する URI を指定します。 cities.xml ファイルの内容は、C# の例に続く XML の例に表示されます。

private static Grammar CreateSrgsDocumentGrammar3()  
{  
  // Create the SrgsDocument.  
  SrgsDocument document = new SrgsDocument();  

  // Create the Main rule and add it to the document.  
  SrgsRule mainRule = new SrgsRule("Main");  
  mainRule.Scope = SrgsRuleScope.Public;  

  SrgsItem item = new SrgsItem("Can I get a shuttle in");  

  // Create a relative URI for the cities rule.  
  Uri ruleUri = new Uri("cities.xml#Cities", UriKind.Relative);  

  item.Add(new SrgsRuleRef(ruleUri));  

  mainRule.Add(item);  
  document.Rules.Add(mainRule);  

  // Set the root rule.  
  document.Root = mainRule;  

  // Create the grammar.  
  Uri baseUri = new Uri(@"file://c:\temp\");  
  Grammar citiesGrammar = new Grammar(document, null, baseUri);  
  citiesGrammar.Name = "SrgsDocument Cities Grammar 3";  

  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、引数を SrgsDocument 必要とする初期化ハンドラーを含めてはなりません。

このコンストラクターは検証 baseUriしません。 ただし、文法のLoadGrammar説明のすべてのルール参照を解決できない場合、オブジェクトまたはSpeechRecognizerオブジェクトのメソッドSpeechRecognitionEngineは例外をスローします。 そうでないnull場合baseUriLoadGrammarメソッドは URI を使用して、それ以外の場合は解決できないルール参照を解決します。 ファイルを表す場合 baseUri 、メソッドは LoadGrammar 相対ルール参照を解決しようとしたときに、指定されたファイルとファイルのディレクトリの両方を使用します。

こちらもご覧ください

適用対象

Grammar(SrgsDocument, String, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前を指定します。

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, parameters As Object())

パラメーター

srgsDocument
SrgsDocument

音声認識文法の制約を格納している SrgsDocument のインスタンス。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

parameters
Object[]

エントリ ポイントの OnInit プロパティによって指定された初期化ハンドラーに渡されるパラメーター、または作成する Grammar のルート ルール。 このパラメーターは null でもかまいません。

例外

  • いずれかのパラメーターに無効な値が含まれています。

  • srgsDocument で指定された SrgsDocument は、ruleName が指定した規則を含みません。

  • 配置パラメーターの内容が、ルールのいずれの初期化ハンドラーの引数とも一致しません。

注釈

初期化ハンドラーのパラメーターも指定できます。

適用対象

Grammar(Stream, String, Uri)

ストリームから Grammar クラスの新しいインスタンスを初期化し、ルート規則を指定して、相対的な規則の参照を解決するためのベース URI (Uniform Resource Identifier) を定義します。

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, Uri ^ baseUri);
public Grammar (System.IO.Stream stream, string ruleName, Uri baseUri);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * Uri -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, baseUri As Uri)

パラメーター

stream
Stream

サポートされている形式で音声認識の文法を記述するストリーム。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

baseUri
Uri

文法の説明で相対的なルール参照を解決するために使用するベース URI または null

例外

ruleName は解決できないか、パブリックではないか、ruleNamenull で文法の説明がルート規則を定義していません。

streamnullです。

ストリームに有効な説明が含まれていないか、解決できない規則の参照を含む文法について説明しています。

次の例では、ローカル SRGS ファイル (shuttle.xml) をファイル ストリームから読み込みます。 ファイルには、cities.xml ファイル内のルールへの相対ルール参照が含まれており、ルール参照の解決に使用するベース URI を指定します。 C# の例に従う XML の例では、shuttle.xmlファイルとcities.xml ファイルの内容が表示されます。

private static Grammar CreateGrammarFromStream3()  
{  
  FileInfo file = new FileInfo(@".\shuttle.xml");  
  Uri baseUri = new Uri(@"file://c:\temp\");  
  Grammar citiesGrammar = new Grammar(file.OpenRead(), null, baseUri);  
  citiesGrammar.Name = "Stream Cities Grammar 3";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- shuttle.xml:   
    Defines an SRGS grammar for asking about a shuttle service. This grammar  
    references a Cities rule that is defined in the cities.xml grammar. -->  

  <rule id="Main">  
    <item>  
      Can I get a shuttle in  
      <ruleref uri="cities.xml#Cities"/>  
    </item>  
  </rule>  
</grammar>  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、説明では引数を必要とする初期化ハンドラーを定義しないでください。

このコンストラクターは、次の Grammar 形式からインスタンスを作成できます。

このコンストラクターは、XML 形式の文法ファイルをバイナリ形式にコンパイルし、音声認識エンジンによる読み込みと使用に合わせて最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

このコンストラクターは検証 baseUriしません。 ただし、文法のLoadGrammar説明のすべてのルール参照を解決できない場合、オブジェクトまたはSpeechRecognizerオブジェクトのメソッドSpeechRecognitionEngineは例外をスローします。 そうでないnull場合baseUriLoadGrammarメソッドは URI を使用して、それ以外の場合は解決できないルール参照を解決します。 ファイルを表す場合 baseUriLoadGrammar 相対ルール参照を解決しようとしたときに、指定されたファイルとファイルのディレクトリの両方が使用されます。

こちらもご覧ください

適用対象

Grammar(Stream, String, Object[])

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (System.IO.Stream stream, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, parameters As Object())

パラメーター

stream
Stream

文法の仕様を含む入出力オブジェクト (ファイル、VisualStudio リソース、DLL など) に接続された Stream

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

parameters
Object[]

エントリ ポイントの OnInit プロパティによって指定された初期化ハンドラーに渡されるパラメーター、または作成する Grammar のルート ルール。 このパラメーターは null でもかまいません。

例外

stream は、次のような文法に接続されています。

  • ruleName に指定された規則を含みません。

  • parameters で指定されたパラメーターと異なる初期化パラメーターが必要です。

  • 文法の既定の基本 Uri 規則では解決できない相対ルール参照が含まれています。

注釈

初期化ハンドラーのパラメーターも指定できます。

適用対象

Grammar(String, String, Object[])

文法定義を含むファイルから Grammar クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントであるルールの名前を指定します。

public:
 Grammar(System::String ^ path, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (string path, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : string * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (path As String, ruleName As String, parameters As Object())

パラメーター

path
String

文法仕様を含むファイル (DLL を含む) のパス。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

parameters
Object[]

エントリ ポイントの OnInit プロパティによって指定された初期化ハンドラーに渡されるパラメーター、または作成する Grammar のルート ルール。 このパラメーターは null でもかまいません。

例外

  • いずれかのパラメーターに無効な値が含まれています。

  • path で指定されたファイルには、ruleName で指定されている有効な文法または規則が含まれていません。

  • 配置パラメーターの内容が、ルールのいずれの初期化ハンドラーの引数とも一致しません。

  • 文法には、文法の既定のベース Uri ルールでは解決できない相対的なルール参照があります。

注釈

初期化ハンドラーのパラメーターも指定できます。

適用対象

Grammar(SrgsDocument, String)

オブジェクトからクラスの新しいインスタンスをGrammarSrgsDocument初期化し、ルート規則を指定します。

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String)

パラメーター

srgsDocument
SrgsDocument

音声認識文法の制約。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子、または SrgsDocument の既定のルート ルールを使用する場合は null

例外

ruleName は解決できないか、パブリックではないか、ruleNamenullsrgsDocument にルート規則が含まれていません。

srgsDocumentnullです。

srgsDocument には、解決できないルール参照が含まれています。

次の例では、インスタンスに音声認識文法を SrgsDocument 作成し、文法のルート ルールとして使用する規則を指定します。 この例では、インスタンスからオブジェクトをGrammarSrgsDocument構築し、音声認識エンジンに読み込みます。

using System;  
using System.Speech.Recognition;  
using System.Speech.Recognition.SrgsGrammar;  

namespace SampleRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  

    // Initialize an in-process speech recognition engine.  
    {  
      using (SpeechRecognitionEngine recognizer =  
         new SpeechRecognitionEngine())  
      {  

        // Create the SrgsDocument.  
        SrgsDocument document = new SrgsDocument();  

        // Create the Cities rule and add it to the document.  
        SrgsRule citiesRule = new SrgsRule("Cities");  
        citiesRule.Scope = SrgsRuleScope.Public;  

        SrgsOneOf cityChoice = new SrgsOneOf();  
        cityChoice.Add(new SrgsItem("Seattle"));  
        cityChoice.Add(new SrgsItem("Los Angeles"));  
        cityChoice.Add(new SrgsItem("New York"));  
        cityChoice.Add(new SrgsItem("Miami"));  

        citiesRule.Add(cityChoice);  
        document.Rules.Add(citiesRule);  

        // Create the Main rule and add it to the document.  
        SrgsRule mainRule = new SrgsRule("Main");  
        mainRule.Scope = SrgsRuleScope.Public;  

        mainRule.Add(new SrgsItem("I would like to fly from"));  
        mainRule.Add(new SrgsRuleRef(citiesRule));  
        mainRule.Add(new SrgsItem("to"));  
        mainRule.Add(new SrgsRuleRef(citiesRule));  

        document.Rules.Add(mainRule);  

        // Create the Grammar object and specify which rule to use as the root.  
        Grammar citiesGrammar = new Grammar(document,"Main");  

        // Load the grammar object to the recognizer.  
        recognizer.LoadGrammarAsync(citiesGrammar);  

        // Attach a handler for the SpeechRecognized event.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Set the input to the recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start 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);  
    }  
  }  
}  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、引数を SrgsDocument 必要とする初期化ハンドラーを含めてはなりません。

オブジェクトを Grammar a から SrgsDocument 作成し、相対ルール参照の解決に使用するベース URI を指定するには、コンストラクターを Grammar 使用します。

こちらもご覧ください

適用対象

Grammar(Stream, String)

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName);
public Grammar (System.IO.Stream stream, string ruleName);
new System.Speech.Recognition.Grammar : System.IO.Stream * string -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String)

パラメーター

stream
Stream

サポートされている形式で音声認識の文法を記述するストリーム。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

例外

ruleName は解決できないか、パブリックではないか、ruleNamenull で文法の説明がルート規則を定義していません。

streamnullです。

ストリームに有効な説明が含まれていないか、解決できない規則の参照を含む文法について説明しています。

次の例では、ファイル ストリームからローカル SRGS ファイル (cities.xml) を読み込み、文法のルートとして使用する規則を指定します。 cities.xml ファイルの内容は、C# の例に続く XML の例に表示されます。

// Load a cities grammar from an I/O stream, use a specific  
// rule as the root of the grammar, and return the new grammar.   
private static Grammar CreateGrammarFromStream2()  
{  
  FileInfo file = new FileInfo(@"c:\temp\cities.xml");  
  Grammar citiesGrammar = new Grammar(file.OpenRead(), "Main");  
  citiesGrammar.Name = "Stream Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、説明では引数を必要とする初期化ハンドラーを定義しないでください。

このコンストラクターは、次の Grammar 形式からインスタンスを作成できます。

このコンストラクターは、XML 形式の文法ファイルをバイナリ形式にコンパイルし、音声認識エンジンによる読み込みと使用に合わせて最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

ストリームから a を Grammar 作成し、相対ルール参照の解決に使用するベース URI を指定するには、コンストラクターを Grammar 使用します。

こちらもご覧ください

適用対象

Grammar(String)

ファイルから Grammar クラスの新しいインスタンスを初期化します。

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

パラメーター

path
String

サポートされている形式で音声認識文法を記述するファイルのパス。

例外

path に空の文字列 ("") を含むか、ルート規則を含まない文法についてファイルで定義します。

pathnullです。

ファイルに有効な説明が含まれていないか、解決できない規則の参照を含む文法について説明しています。

次の例では、ローカル SRGS ファイルから音声認識文法を読み込み、オブジェクトを Grammar ビルドします。 cities.xml ファイルの内容は、C# の例に続く XML の例に表示されます。

// Load a cities grammar from a local file and  
// return the new grammar.   
private static Grammar CreateGrammarFromFile()  
{  
  Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml");  
  citiesGrammar.Name = "SRGS File Cities Grammar";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、説明では引数を必要とする初期化ハンドラーを定義しないでください。

このコンストラクターは、次の Grammar 形式からインスタンスを作成できます。

このコンストラクターは、XML 形式の文法ファイルをバイナリ形式にコンパイルし、音声認識エンジンによる読み込みと使用に合わせて最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

SRGS 文法では、ルート規則を定義できます。 文字列からオブジェクトを Grammar 作成し、ルート規則を指定するには、コンストラクターを Grammar 使用します。

相対ルール参照の Grammar 解決に使用するベース URI を指定するオブジェクトを作成するには、ファイル ストリームでファイルを開き、コンストラクターを Grammar.Grammar 使用します。

こちらもご覧ください

適用対象

Grammar(SrgsDocument)

Grammar オブジェクトから SrgsDocument クラスの新しいインスタンスを初期化します。

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument)

パラメーター

srgsDocument
SrgsDocument

音声認識文法の制約。

例外

srgsDocument にはルート ルールが含まれていません。

srgsDocumentnullです。

srgsDocument には、解決できないルール参照が含まれています。

次の例では、インスタンスに音声認識文法を SrgsDocument 作成し、それを使用してオブジェクトを Grammar 構築します。

private static Grammar CreateSrgsDocumentGrammar()  
{  
  // Create the SrgsDocument.  
  SrgsDocument document = new SrgsDocument();  

  // Create the Cities rule and add it to the document.  
  SrgsRule citiesRule = new SrgsRule("Cities");  

  SrgsOneOf cityChoice = new SrgsOneOf();  
  cityChoice.Add(new SrgsItem("Seattle"));  
  cityChoice.Add(new SrgsItem("Los Angeles"));  
  cityChoice.Add(new SrgsItem("New York"));  
  cityChoice.Add(new SrgsItem("Miami"));  

  citiesRule.Add(cityChoice);  
  document.Rules.Add(citiesRule);  

  // Create the Main rule and add it to the document.  
  SrgsRule mainRule = new SrgsRule("Main");  
  mainRule.Scope = SrgsRuleScope.Public;  

  SrgsItem item = new SrgsItem("I would like to fly from");  
  item.Add(new SrgsRuleRef(citiesRule));  
  item.Add(new SrgsText("to"));  
  item.Add(new SrgsRuleRef(citiesRule));  

  mainRule.Add(item);  
  document.Rules.Add(mainRule);  

  // Set the root rule.  
  document.Root = mainRule;  

  // Create the Grammar object.  
  Grammar citiesGrammar = new Grammar(document);  
  citiesGrammar.Name = "SrgsDocument Cities Grammar";  

  return citiesGrammar;  
}  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、引数を SrgsDocument 必要とする初期化ハンドラーを含めてはなりません。

ルート SrgsDocument ルールを持つことができます。 ルート規則をGrammar指定するオブジェクトを作成するには、またはGrammarコンストラクターをGrammar使用します。

から音声認識 GrammarSrgsDocument 作成し、相対ルール参照の解決に使用するベース URI を指定するには、コンストラクターを Grammar 使用します。

こちらもご覧ください

適用対象

Grammar(String, String)

ファイルから Grammar クラスの新しいインスタンスを初期化し、ルート ルールを指定します。

public:
 Grammar(System::String ^ path, System::String ^ ruleName);
public Grammar (string path, string ruleName);
new System.Speech.Recognition.Grammar : string * string -> System.Speech.Recognition.Grammar
Public Sub New (path As String, ruleName As String)

パラメーター

path
String

サポートされている形式で音声認識文法を記述するファイルのパス。

ruleName
String

音声認識文法のエントリ ポイントとして使用するルールの識別子。または、文法の説明の既定のルート ルールを使用する場合は null

例外

ruleName は解決できないか、パブリックではないか、path が空の文字列 ("") か、ruleNamenull で文法の説明がルート規則を定義していません。

pathnullです。

ファイルに有効な説明が含まれていないか、解決できない規則の参照を含む文法について説明しています。

次の例では、ファイルからローカル SRGS ファイル (cities.xml) を読み込み、文法のルートとして使用する規則を指定します。 cities.xml ファイルの内容は、C# の例に続く XML の例に表示されます。

// Load a cities grammar from a local file, use a specific  
// rule as the root of the grammar, and return the new grammar.  
private static Grammar CreateGrammarFromFile2()  
{  
  Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml", "Main");  
  citiesGrammar.Name = "SRGS File Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、説明では引数を必要とする初期化ハンドラーを定義しないでください。

このコンストラクターは、次の Grammar 形式からインスタンスを作成できます。

このコンストラクターは、XML 形式の文法ファイルをバイナリ形式にコンパイルし、音声認識エンジンによる読み込みと使用に合わせて最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

相対ルール参照の Grammar 解決に使用するベース URI を指定する URI を作成するには、ファイルのファイル ストリームを開き、コンストラクターを Grammar 使用します。

こちらもご覧ください

適用対象

Grammar(GrammarBuilder)

Grammar オブジェクトから GrammarBuilder クラスの新しいインスタンスを初期化します。

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

パラメーター

builder
GrammarBuilder

音声認識文法の制約を格納している GrammarBuilder のインスタンス。

次の例では、音声認識文法とオブジェクトを使用してChoicesGrammarBuilder作成します。 コンストラクターは GrammarGrammar オブジェクトからオブジェクトを GrammarBuilder 作成します。

// Create a grammar using a GrammarBuilder and return the new grammar.   
private static Grammar CreateGrammarBuilderGrammar()  
{  
  GrammarBuilder builder = new GrammarBuilder();  

  Choices cityChoice = new Choices (new string[]   
  {"Seattle", "New York", "Miami", "Los Angeles"});  

  builder.Append("I would like to fly from");  
  builder.Append(cityChoice);  
  builder.Append("to");  
  builder.Append(cityChoice);  

  Grammar citiesGrammar = new Grammar(builder);  
  citiesGrammar.Name = "GrammarBuilder Cities Grammar";  

  return citiesGrammar;  
}  

こちらもご覧ください

適用対象

Grammar(Stream)

Grammar から Stream クラスの新しいインスタンスを初期化します。

public:
 Grammar(System::IO::Stream ^ stream);
public Grammar (System.IO.Stream stream);
new System.Speech.Recognition.Grammar : System.IO.Stream -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream)

パラメーター

stream
Stream

サポートされている形式で音声認識の文法を記述するストリーム。

例外

stream は、ルート ルールを含まない文法を表します。

streamnullです。

ストリームに文法の有効な説明が含まれていないか、解決できない規則の参照を含む文法について説明しています。

次の例では、ファイル ストリームを使用して、ローカル SRGS ファイル (cities.xml) から音声認識文法を作成します。 cities.xml ファイルの内容は、C# の例に従って表示されます。

// Load a cities grammar from an I/O stream and    
// return the new grammar.   
private static Grammar CreateGrammarFromStream()  
{  
  string fileName = @"c:\temp\cities.xml";  
  Grammar citiesGrammar =  
    new Grammar(new FileStream(fileName, FileMode.Open));  
  citiesGrammar.Name = "Stream Cities Grammar";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

このコンストラクターは初期化ハンドラーにパラメーターを渡しません。また、説明では引数を必要とする初期化ハンドラーを定義しないでください。

このコンストラクターは、次の Grammar 形式からインスタンスを作成できます。

このコンストラクターは、XML 形式の文法ファイルをバイナリ形式にコンパイルし、音声認識エンジンによる読み込みと使用に合わせて最適化します。 いずれかのメソッドを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築 Grammar するのに必要な時間を Compile 短縮できます。

SRGS 文法では、ルート規則を定義できます。 ストリームからオブジェクトをGrammar作成し、ルート規則を指定するには、またはGrammarコンストラクターをGrammar使用します。

ストリームからオブジェクトを Grammar 作成し、相対ルール参照の解決に使用するベース URI を指定するには、コンストラクターを Grammar 使用します。

こちらもご覧ください

適用対象