类 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) ,需要在发出 事件后再次调用 方法。
参数
model
描述要检测关键字 (keyword) 的 KeywordRecognitionModel。
返回
一个将来,它解析为 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 构造的配置调用