SpeechRecognitionEngine 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 SpeechRecognitionEngine 类的新实例。
重载
SpeechRecognitionEngine() |
使用系统的默认语音识别器来初始化 SpeechRecognitionEngine 类的新实例。 |
SpeechRecognitionEngine(CultureInfo) |
使用指定的区域设置的默认语音识别器来初始化 SpeechRecognitionEngine 类的新实例。 |
SpeechRecognitionEngine(RecognizerInfo) |
用 SpeechRecognitionEngine 对象中的信息初始化 RecognizerInfo 来指定要使用的识别器。 |
SpeechRecognitionEngine(String) |
使用字符串参数初始化 SpeechRecognitionEngine 类的新实例,该参数指定要使用的识别器的名称。 |
注解
你可以 SpeechRecognitionEngine 从以下任意项构造实例:
系统的默认语音识别引擎
按名称指定的特定语音识别引擎
指定的区域设置的默认语音识别引擎
满足您在对象中指定的条件的特定识别引擎 RecognizerInfo 。
在语音识别器开始识别之前,必须至少加载一个语音识别语法,并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
SpeechRecognitionEngine()
使用系统的默认语音识别器来初始化 SpeechRecognitionEngine 类的新实例。
public:
SpeechRecognitionEngine();
public SpeechRecognitionEngine ();
Public Sub New ()
注解
在语音识别器开始语音识别之前,必须至少加载一个识别语法,并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
适用于
SpeechRecognitionEngine(CultureInfo)
使用指定的区域设置的默认语音识别器来初始化 SpeechRecognitionEngine 类的新实例。
public:
SpeechRecognitionEngine(System::Globalization::CultureInfo ^ culture);
public SpeechRecognitionEngine (System.Globalization.CultureInfo culture);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Globalization.CultureInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (culture As CultureInfo)
参数
- culture
- CultureInfo
语音识别器必须支持的区域设置。
例外
未安装的语音识别器都不支持区域设置,或者 culture
为固定区域性。
Culture
为 null
。
示例
下面的示例演示了演示基本语音识别的控制台应用程序的一部分,并为 en-us 区域设置初始化了语音识别器。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
注解
Microsoft Windows 和 Speech API 接受所有有效的语言-国家/地区代码。 若要使用参数中指定的语言执行语音识别 CultureInfo
,则必须安装支持该语言-国家/地区代码的语音识别引擎。 Microsoft Windows 7 随附的语音识别引擎使用以下语言-国家/地区代码。
半 GB。 英语(英国)
en-us。 英语(美国)
取消。 德语(德国)
es。 西班牙语(西班牙)
fr-fr。 法语(法国)
ja-jp。 日语(日本)
zh-chs-CN。 中文(中国)
zh-chs-幼圆。 中文(台湾)
还允许使用两个字母的语言代码,例如 "en"、"fr" 或 "es"。
在语音识别器开始识别之前,必须至少加载一个语音识别语法,并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
适用于
SpeechRecognitionEngine(RecognizerInfo)
用 SpeechRecognitionEngine 对象中的信息初始化 RecognizerInfo 来指定要使用的识别器。
public:
SpeechRecognitionEngine(System::Speech::Recognition::RecognizerInfo ^ recognizerInfo);
public SpeechRecognitionEngine (System.Speech.Recognition.RecognizerInfo recognizerInfo);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Speech.Recognition.RecognizerInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerInfo As RecognizerInfo)
参数
- recognizerInfo
- RecognizerInfo
特定语音识别器的信息。
示例
下面的示例演示了演示基本语音识别的控制台应用程序的一部分,并初始化了支持英语的语音识别器。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Select a speech recognizer that supports English.
RecognizerInfo info = null;
foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
{
if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))
{
info = ri;
break;
}
}
if (info == null) return;
// Create the selected recognizer.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(info))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
注解
可以为任何已安装的语音识别器创建此类的实例。 若要获取有关已安装的识别器的信息,请使用 InstalledRecognizers 方法。
在语音识别器开始识别之前,必须至少加载一个语音识别语法,并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
适用于
SpeechRecognitionEngine(String)
使用字符串参数初始化 SpeechRecognitionEngine 类的新实例,该参数指定要使用的识别器的名称。
public:
SpeechRecognitionEngine(System::String ^ recognizerId);
public SpeechRecognitionEngine (string recognizerId);
new System.Speech.Recognition.SpeechRecognitionEngine : string -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerId As String)
参数
- recognizerId
- String
使用一个识别器的标记名称。
例外
没有带有此标记名称的语音识别器未安装,或者 recognizerId
是空字符串 ("")。
recognizerId
为 null
。
示例
下面的示例演示了演示基本语音识别的控制台应用程序的一部分,并创建了语音识别 8.0 for Windows (英语-US) 的实例。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an instance of the Microsoft Speech Recognizer 8.0 for
// Windows (English - US).
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine("MS-1033-80-DESK"))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized += new EventHandler(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
注解
识别器的标记名称是 Id RecognizerInfo 由识别器的属性返回的对象的属性值 RecognizerInfo 。 若要获取所有已安装的识别器的集合,请使用静态 InstalledRecognizers 方法。
在语音识别器开始识别之前,必须至少加载一个语音识别语法,并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一: