类 KeywordRecognizer

class KeywordRecognizer
  : public std::enable_shared_from_this< KeywordRecognizer >

专用于仅处理关键字 (keyword) 激活的识别器类型。

首先,需要实例化对象:

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< constKeywordRecognitionEventArgs & > Recognized;

与关键字识别相关的事件的信号。

已取消

语法: public EventSignal< constSpeechRecognitionCanceledEventArgs & > Canceled;

与取消交互相关的事件的信号。 事件指示原因是直接取消还是错误。

属性

语法: public constPropertyCollection & Properties;

为此 KeywordRecognizer 定义的属性及其值的集合。

~KeywordRecognizer

语法: public inline ~KeywordRecognizer ( );

析构函数。

RecognizeOnceAsync

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

启动关键字 (keyword) 识别会话。 此会话将持续到识别第一个关键字 (keyword) 。 发生这种情况时,将引发 已识别 事件,会话将结束。 若要重新关键字 (keyword) ,需要在发出 事件后再次调用 方法。

参数

返回

一个将来,它解析为 KeywordRecognitionResult,该关键字在检测到关键字 (keyword) 后解析。

请注意,如果未在输入中检测到关键字 (keyword) ,则除非调用 StopRecognition,否则任务将永远不会解析 (。

StopRecognitionAsync

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

停止当前处于活动状态的关键字 (keyword) 识别会话。

返回

如果停止任何) ,则解决活动会话何时 (的未来。

FromConfig

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

从 AudioConfig 创建 KeywordRecognizer。 该配置旨在定义识别器对象要使用的音频输入。

参数

  • audioConfig 定义识别器要使用的音频输入。

返回

一个新的 KeywordRecognizer,它将使用指定输入中的音频。

如果未提供音频配置,则它等效于使用 AudioConfig::FromDefaultMicrophoneInput 构造的配置调用