SpeechRecognizer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan akses ke layanan pengenalan ucapan bersama yang tersedia di desktop Windows.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Warisan
-
SpeechRecognizer
- Penerapan
Contoh
Contoh berikut adalah bagian dari aplikasi konsol yang memuat tata bahasa pengenalan ucapan dan menunjukkan input yang ditiru asinkron, hasil pengenalan terkait, dan peristiwa terkait yang diangkat oleh pengenal ucapan. Jika Pengenalan Ucapan Windows tidak berjalan, maka memulai aplikasi ini juga akan memulai Pengenalan Ucapan Windows. Jika Pengenalan Ucapan Windows berada dalam status Tidur , maka EmulateRecognizeAsync selalu mengembalikan null.
using System;
using System.Speech.Recognition;
using System.Threading;
namespace SharedRecognizer
{
class Program
{
// Indicate whether the asynchronous emulate recognition
// operation has completed.
static bool completed;
static void Main(string[] args)
{
// Initialize an instance of the shared recognizer.
using (SpeechRecognizer recognizer = new SpeechRecognizer())
{
// Create and load a sample grammar.
Grammar testGrammar =
new Grammar(new GrammarBuilder("testing testing"));
testGrammar.Name = "Test Grammar";
recognizer.LoadGrammar(testGrammar);
// Attach event handlers for recognition events.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.EmulateRecognizeCompleted +=
new EventHandler<EmulateRecognizeCompletedEventArgs>(
EmulateRecognizeCompletedHandler);
completed = false;
// Start asynchronous emulated recognition.
// This matches the grammar and generates a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing testing");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
completed = false;
// Start asynchronous emulated recognition.
// This does not match the grammar or generate a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing one two three");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the SpeechRecognized event.
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null)
{
Console.WriteLine("Recognition result = {0}",
e.Result.Text ?? "<no text>");
}
else
{
Console.WriteLine("No recognition result");
}
}
// Handle the SpeechRecognizeCompleted event.
static void EmulateRecognizeCompletedHandler(
object sender, EmulateRecognizeCompletedEventArgs e)
{
if (e.Result == null)
{
Console.WriteLine("No result generated.");
}
// Indicate the asynchronous operation is complete.
completed = true;
}
}
}
Keterangan
Aplikasi menggunakan pengenal bersama untuk mengakses Windows Speech Recognition. SpeechRecognizer Gunakan objek untuk ditambahkan ke pengalaman pengguna ucapan Windows.
Kelas ini memberikan kontrol atas berbagai aspek proses pengenalan ucapan:
Untuk mengelola tata bahasa pengenalan ucapan, gunakan LoadGrammar, , LoadGrammarAsync, UnloadGrammarUnloadAllGrammars, dan Grammars.
Untuk mendapatkan informasi tentang operasi pengenalan ucapan saat ini, berlangganan SpeechRecognizerperistiwa , SpeechDetected, SpeechHypothesizedSpeechRecognitionRejected, dan SpeechRecognized .
Untuk melihat atau mengubah jumlah hasil alternatif yang dikembalikan pengenal, gunakan MaxAlternates properti . Pengenal mengembalikan hasil pengenalan dalam objek RecognitionResult .
Untuk mengakses atau memantau status pengenal bersama, gunakan AudioLevelproperti , , AudioPosition, EnabledAudioState, PauseRecognizerOnRecognition, RecognizerAudioPositiondan State dan dan AudioLevelUpdatedperistiwa , AudioSignalProblemOccurred, AudioStateChanged, dan StateChanged .
Untuk menyinkronkan perubahan pada pengenal, gunakan RequestRecognizerUpdate metode . Pengenal bersama menggunakan lebih dari satu utas untuk melakukan tugas.
Untuk meniru input ke pengenal bersama, gunakan EmulateRecognize metode dan EmulateRecognizeAsync .
Konfigurasi Windows Speech Recognition dikelola oleh penggunaan dialog Properti Ucapan di Panel Kontrol. Antarmuka ini digunakan untuk memilih mesin dan bahasa pengenalan ucapan desktop default, perangkat input audio, dan perilaku tidur pengenalan ucapan. Jika konfigurasi Windows Speech Recognition diubah saat aplikasi sedang berjalan, (misalnya, jika pengenalan ucapan dinonaktifkan atau bahasa input diubah), perubahan memengaruhi semua SpeechRecognizer objek.
Untuk membuat pengenal ucapan dalam proses yang independen dari Pengenalan Ucapan Windows, gunakan SpeechRecognitionEngine kelas .
Catatan
Selalu panggil Dispose sebelum Anda merilis referensi terakhir Anda ke pengenal ucapan. Jika tidak, sumber daya yang digunakannya tidak akan dikosongkan sampai pengumpul sampah memanggil metode objek Finalize
recognizer.
Konstruktor
SpeechRecognizer() |
Menginisialisasi instans baru kelas SpeechRecognizer. |
Properti
AudioFormat |
Mendapatkan format audio yang diterima oleh pengenal ucapan. |
AudioLevel |
Mendapatkan tingkat audio yang diterima oleh pengenal ucapan. |
AudioPosition |
Mendapatkan lokasi saat ini di aliran audio yang dihasilkan oleh perangkat yang memberikan input ke pengenal ucapan. |
AudioState |
Mendapatkan status audio yang diterima oleh pengenal ucapan. |
Enabled |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah objek ini SpeechRecognizer siap untuk memproses ucapan. |
Grammars |
Mendapatkan koleksi Grammar objek yang dimuat dalam instans ini SpeechRecognizer . |
MaxAlternates |
Mendapatkan atau mengatur jumlah maksimum hasil pengenalan alternatif yang dikembalikan pengenal bersama untuk setiap operasi pengenalan. |
PauseRecognizerOnRecognition |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah pengenal bersama menjeda operasi pengenalan saat aplikasi menangani SpeechRecognized peristiwa. |
RecognizerAudioPosition |
Mendapatkan lokasi pengenal saat ini dalam input audio yang sedang diproses. |
RecognizerInfo |
Mendapatkan informasi tentang pengenal ucapan bersama. |
State |
Mendapatkan status SpeechRecognizer objek. |
Metode
Dispose() |
SpeechRecognizer Membuang objek . |
Dispose(Boolean) |
Buang SpeechRecognizer objek dan rilis sumber daya yang digunakan selama sesi. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Meniru input kata-kata tertentu ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata-kata dan tata bahasa pengenalan ucapan yang dimuat. |
EmulateRecognize(String) |
Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan yang sinkron. |
EmulateRecognize(String, CompareOptions) |
Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan yang sinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Meniru input kata-kata tertentu ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara kata-kata dan tata bahasa pengenalan ucapan yang dimuat. |
EmulateRecognizeAsync(String) |
Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron. |
EmulateRecognizeAsync(String, CompareOptions) |
Meniru input frasa ke pengenal ucapan bersama, menggunakan teks alih-alih audio untuk pengenalan ucapan asinkron, dan menentukan bagaimana pengenal menangani perbandingan Unicode antara frasa dan tata bahasa pengenalan ucapan yang dimuat. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
LoadGrammar(Grammar) |
Memuat tata bahasa pengenalan ucapan. |
LoadGrammarAsync(Grammar) |
Secara asinkron memuat tata bahasa pengenalan ucapan. |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
RequestRecognizerUpdate() |
Meminta agar pengenal bersama menjeda dan memperbarui statusnya. |
RequestRecognizerUpdate(Object) |
Meminta agar pengenal bersama menjeda dan memperbarui statusnya dan menyediakan token pengguna untuk peristiwa terkait. |
RequestRecognizerUpdate(Object, TimeSpan) |
Meminta agar pengenal bersama menjeda dan memperbarui statusnya dan menyediakan offset dan token pengguna untuk peristiwa terkait. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
UnloadAllGrammars() |
Membongkar semua tata bahasa pengenalan ucapan dari pengenal bersama. |
UnloadGrammar(Grammar) |
Membongkar tata bahasa pengenalan ucapan tertentu dari pengenal bersama. |
Acara
AudioLevelUpdated |
Terjadi ketika pengenal bersama melaporkan tingkat input audionya. |
AudioSignalProblemOccurred |
Terjadi ketika pengenal mengalami masalah dalam sinyal audio. |
AudioStateChanged |
Terjadi ketika status berubah dalam audio yang diterima oleh pengenal. |
EmulateRecognizeCompleted |
Terjadi ketika pengenal bersama menyelesaikan operasi pengenalan asinkron untuk input yang ditiru. |
LoadGrammarCompleted |
Terjadi ketika pengenal menyelesaikan pemuatan asinkron tata bahasa pengenalan ucapan. |
RecognizerUpdateReached |
Terjadi ketika pengenal menjeda untuk menyinkronkan pengenalan dan operasi lainnya. |
SpeechDetected |
Terjadi ketika pengenal mendeteksi input yang dapat diidentifikasi sebagai ucapan. |
SpeechHypothesized |
Terjadi ketika pengenal telah mengenali kata atau kata yang mungkin merupakan komponen dari beberapa frasa lengkap dalam tata bahasa. |
SpeechRecognitionRejected |
Terjadi ketika recognizer menerima input yang tidak cocok dengan salah satu tata bahasa pengenalan ucapan yang telah dimuatnya. |
SpeechRecognized |
Terjadi ketika pengenal menerima input yang cocok dengan salah satu tata bahasa pengenalan ucapannya. |
StateChanged |
Terjadi ketika status berjalan mesin pengenalan Windows Desktop Speech Technology berubah. |