SpeechRecognitionEngine 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 SpeechRecognitionEngine 类的新实例。
重载
| 名称 | 说明 |
|---|---|
| SpeechRecognitionEngine() |
使用系统的默认语音识别器初始化类的新实例 SpeechRecognitionEngine 。 |
| SpeechRecognitionEngine(CultureInfo) |
使用指定区域设置的默认语音识别器初始化类的新实例 SpeechRecognitionEngine 。 |
| SpeechRecognitionEngine(RecognizerInfo) |
初始化使用对象中RecognizerInfo的信息来指定要使用的识别器的新实例SpeechRecognitionEngine。 |
| SpeechRecognitionEngine(String) |
使用指定要使用的识别器名称的字符串参数初始化类的新实例 SpeechRecognitionEngine 。 |
注解
可以从以下任一项 SpeechRecognitionEngine 构造实例:
系统的默认语音识别引擎
按名称指定的特定语音识别引擎
指定的区域设置的默认语音识别引擎
满足在对象中指定的 RecognizerInfo 条件的特定识别引擎。
在语音识别器开始识别之前,必须至少加载一个语音识别语法并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
SpeechRecognitionEngine()
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
使用系统的默认语音识别器初始化类的新实例 SpeechRecognitionEngine 。
public:
SpeechRecognitionEngine();
public SpeechRecognitionEngine();
Public Sub New ()
注解
在语音识别器开始语音识别之前,必须至少加载一个识别语法并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
适用于
SpeechRecognitionEngine(CultureInfo)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
使用指定区域设置的默认语音识别器初始化类的新实例 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 和 System.Speech API 接受所有有效的语言国家/地区代码。 若要使用参数中指定的 CultureInfo 语言执行语音识别,必须安装支持该语言国家/地区的代码的语音识别引擎。 Microsoft Windows 7 附带的语音识别引擎适用于以下语言国家/地区代码。
en-GB。 英语(英国)
en-US。 英语(美国)
de-DE。 德语(德国)
es-ES。 西班牙语(西班牙)
fr-FR。 法语(法国)
ja-JP。 日语(日本)
zh-CN。 中文(中国)
zh-TW。 中文(台湾)
还允许使用双字母语言代码,如“en”、“fr”或“es”。
在语音识别器开始识别之前,必须至少加载一个语音识别语法并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一:
适用于
SpeechRecognitionEngine(RecognizerInfo)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
初始化使用对象中RecognizerInfo的信息来指定要使用的识别器的新实例SpeechRecognitionEngine。
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)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
使用指定要使用的识别器名称的字符串参数初始化类的新实例 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。
示例
以下示例演示了演示基本语音识别的控制台应用程序的一部分,并创建适用于 Windows 的语音识别器 8.0 实例(英语 - 美国)。
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);
}
}
}
注解
识别器标记名称是识别器属性返回RecognizerInfo的对象属性RecognizerInfo的值Id。 若要获取所有已安装识别器的集合,请使用静态 InstalledRecognizers 方法。
在语音识别器开始识别之前,必须至少加载一个语音识别语法并为识别器配置输入。
若要加载语法,请调用 LoadGrammar 或 LoadGrammarAsync 方法。
若要配置音频输入,请使用以下方法之一: