Bagikan melalui


SpeechRecognizer Kelas

Definisi

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:

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.

Berlaku untuk

Lihat juga