类 Dialog::D ialogServiceConnector

class Dialog::DialogServiceConnector
  : public std::enable_shared_from_this< DialogServiceConnector >
  : public Utils::NonCopyable
  : public Utils::NonMovable

用于连接 DirectLineSpeech 或 CustomCommands 的对象。

此类型的对象通过 FromConfig 工厂方法创建。

成员

认可

语法: public EventSignal< constSpeechRecognitionEventArgs & > Recognized;

包含语音识别结果的事件的信号。

识别

语法: public EventSignal< constSpeechRecognitionEventArgs & > Recognizing;

包含中间识别结果的事件的信号。

SessionStarted

语法: public EventSignal< constSessionEventArgs & > SessionStarted;

指示开始侦听会话的信号。

SessionStopped

语法: public EventSignal< constSessionEventArgs & > SessionStopped;

指示侦听会话结束的信号。

SpeechStartDetected

语法: public EventSignal< constRecognitionEventArgs & > SpeechStartDetected;

指示对当前短语中的语音数据进行首次检测的信号。

SpeechEndDetected

语法: public EventSignal< constRecognitionEventArgs & > SpeechEndDetected;

指示检测到的当前短语语音数据的末尾的信号。

已取消

语法: public EventSignal< constSpeechRecognitionCanceledEventArgs & > Canceled;

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

ActivityReceived

语法: public EventSignal< constActivityReceivedEventArgs & > ActivityReceived;

表示已从后端接收活动。

TurnStatusReceived

语法: public EventSignal< constTurnStatusReceivedEventArgs & > TurnStatusReceived;

指示已从后端收到轮次状态更新的信号。

属性

语法: public PropertyCollection & Properties;

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

~DialogServiceConnector

语法: public inline virtual ~DialogServiceConnector ( );

销毁实例。

ConnectAsync

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

与后端连接。

返回

启动连接的异步操作。

DisconnectAsync

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

断开与后端的连接。

返回

启动断开连接的异步操作。

SendActivityAsync

语法: public inline std::future< std::string > SendActivityAsync ( const std::string & activity );

将活动发送到支持对话框。

参数

  • activity 要发送的活动

返回

启动操作的异步操作。

StartKeywordRecognitionAsync

语法: public inline std::future< void > StartKeywordRecognitionAsync ( std::shared_ptr< KeywordRecognitionModel > model );

启动关键字 (keyword) 识别。

参数

  • model指定要使用的关键字 (keyword) 模型。

返回

启动操作的异步操作。

StopKeywordRecognitionAsync

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

停止关键字 (keyword) 识别。

返回

启动操作的异步操作。

ListenOnceAsync

语法: public inline std::future< std::shared_ptr< SpeechRecognitionResult > > ListenOnceAsync ( );

启动将在第一个言语后终止的侦听会话。

返回

启动操作的异步操作。

StopListeningAsync

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

请求活动侦听操作立即完成,中断任何正在进行的说话,并提供反映到目前为止捕获的任何音频数据的结果。

返回

表示停止活动侦听会话的异步操作的任务。

SetAuthorizationToken

语法: public inline void SetAuthorizationToken ( const std::string & token );

设置将用于连接到服务的授权令牌。 注意:调用方需要确保授权令牌有效。 在授权令牌过期之前,调用方需要使用新的有效令牌调用此资源库来刷新它。 否则,连接器在操作期间将遇到错误。

参数

  • token 授权令牌。

GetAuthorizationToken

语法: public inline std::string GetAuthorizationToken ( );

获取授权令牌。

返回

授权令牌

SetSpeechActivityTemplate

语法: public inline void SetSpeechActivityTemplate ( const std::string & activityTemplate );

设置一个 JSON 模板,该模板将提供给语音服务进行下一个会话。 该服务将尝试将此模板合并到发送到对话后端的所有活动中,无论是由客户端使用 SendActivityAsync 发起还是由服务生成,就像语音转文本结果一样。

参数

  • activityTemplate 活动有效负载(作为 JSON 字符串)要合并到所有适用的活动消息中。

GetSpeechActivityTemplate

语法: public inline std::string GetSpeechActivityTemplate ( );

获取将为下一个会话提供给语音服务的 JSON 模板。 该服务将尝试将此模板合并到发送到对话后端的所有活动中,无论是由具有 SendActivityAsync 的客户端发起还是由服务生成,就像语音转文本结果一样。

返回

当前设置的 JSON 活动模板,将用于后续请求。

FromConfig

语法: public inline static std::shared_ptr< DialogServiceConnector > FromConfig ( std::shared_ptr< DialogServiceConfig > connectorConfig , std::shared_ptr< Audio::AudioConfig > audioConfig );

DialogServiceConfigAudio::AudioConfig 创建对话框服务连接器。 用户应使用此函数创建对话框服务连接器。

参数

  • connectorConfig 对话框服务配置。

  • audioConfig 音频配置。

返回

创建的对话框服务连接器的共享智能指针。

auto audioConfig = [Audio::AudioConfig::FromDefaultMicrophoneInput](audio-audioconfig.md#fromdefaultmicrophoneinput)();
auto config = [CustomCommandsConfig::FromAuthorizationToken](dialog-customcommandsconfig.md#fromauthorizationtoken)("my_app_id","my_auth_token", "my_region");
auto connector = [DialogServiceConnector::FromConfig](#fromconfig)(config, audioConfig);

在谈到 DialogServiceConfig 时,我们指的是继承自它的类之一。 要使用的特定类取决于所使用的对话后端: