class 關鍵字識別器

class KeywordRecognizer
  : public std::enable_shared_from_this< KeywordRecognizer >

專門用來處理關鍵詞啟用的辨識器類型。

首先,對象必須具現化:

auto audioConfig = AudioConfig::FromMicrophoneInput(); // Or an alternative input
auto recognizer = [KeywordRecognizer::FromConfig](#fromconfig)(audioConfig);

(選擇性)然後,事件必須以有線方式接收通知:

recognizer->Recognized += [](const KeywordRecognitionEventArgs& event)
{
    // Your logic here...
};

最後,必須啟動辨識。

auto keywordModel = [KeywordRecognitionModel::FromFile](keywordrecognitionmodel.md#fromfile)(modelPath);
auto resultFuture = recognizer->RecognizeKeywordOnceAsync(keywordModel);
resultFuture.wait();
auto result = resultFuture.get();

成員

已認列

語法:public EventSignal< const KeywordRecognitionEventArgs & > Recognized;

與關鍵詞辨識相關的事件訊號。

已取消

語法:public EventSignal< const SpeechRecognitionCanceledEventArgs & > Canceled;

與取消互動相關的事件訊號。 事件指出原因是否為直接取消或錯誤。

屬性

語法:public const PropertyCollection & Properties;

針對這個 KeywordRecognizer 定義的屬性及其值集合。

~KeywordRecognizer

語法:public inline ~KeywordRecognizer ( );

解構函式。

RecognizeOnceAsync

語法:public inline std::future< std::shared_ptr< KeywordRecognitionResult > > RecognizeOnceAsync ( std::shared_ptr< KeywordRecognitionModel > model );

啟動關鍵詞辨識會話。 此會話會持續到辨識第一個關鍵詞為止。 發生這種情況時,將會引發 辨識 事件,而會話將會結束。 若要重新排列 關鍵詞,必須在發出事件之後再次呼叫 方法。

參數

退貨

未來,解析為 KeywordRecognitionResult,會在偵測到關鍵詞之後解析。

請注意,如果在輸入中偵測到沒有關鍵詞,工作永遠不會解析(除非呼叫 StopRecognition。

StopRecognitionAsync

語法:public inline std::future< void > StopRecognitionAsync ( );

停止目前作用中的關鍵詞辨識會話。

退貨

當使用中會話停止時解決的未來。如果有的話。

FromConfig

語法:public inline static std::shared_ptr< KeywordRecognizer > FromConfig ( std::shared_ptr< Audio::AudioConfig > audioConfig );

從 AudioConfig 建立 KeywordRecognizer。 組態的目的是定義辨識器物件要使用的音訊輸入。

參數

  • audioConfig 定義辨識器要使用的音訊輸入。

退貨

新的 KeywordRecognizer,將取用來自指定輸入的音訊。

如果未提供任何音訊設定,它相當於使用 AudioConfig::FromDefaultMicrophoneInput 建構的組態來呼叫