类连接

class Connection
  : public std::enable_shared_from_this< Connection >

Connection 是一个代理类,用于管理与指定识别器语音服务的连接。 默认情况下,识别器在需要时自主管理与服务的连接。 Connection 类为用户提供其他方法,用于显式打开或关闭连接以及订阅连接状态更改。 Connection 的使用是可选的。 它适用于需要根据连接状态微调应用程序行为的情况。 用户可以选择调用 Open () ,以在与此连接关联的识别器上开始识别之前手动启动服务连接。 开始识别后,调用 Open () 或 Close () 可能会失败。 这不会影响识别器或正在进行的识别。 连接可能因各种原因而断开,识别器将始终尝试根据需要重新建立连接,以保证正在进行的操作。 在所有这些情况下,Connected/Disconnected 事件将指示连接状态的更改。 在版本 1.17.0 中更新。

成员

已连接

语法: public EventSignal< constConnectionEventArgs & > Connected;

Connected 事件,指示识别器已连接到服务。

已断开连接

语法: public EventSignal< constConnectionEventArgs & > Disconnected;

Disconnected 事件,指示识别器已与服务断开连接。

MessageReceived

语法: public EventSignal< constConnectionMessageEventArgs & > MessageReceived;

MessageReceived 事件,指示基础协议从服务收到消息。 在版本 1.10.0 中添加。

打开

语法: public inline void Open ( bool forContinuousRecognition );

开始设置与服务的连接。 用户可以选择调用 Open () ,以在与此连接关联的识别器/合成器上开始识别/合成之前提前手动设置连接。 开始识别后,调用 Open () 可能会失败,具体取决于识别器/合成器的进程状态。 但失败不会影响关联的识别器/合成器的状态。 注意:返回时,连接可能尚未就绪。 请订阅 Connected 事件,以在建立连接时收到通知。

参数

  • forContinuousRecognition 指示连接是用于连续识别还是单次识别。 如果连接来自 SpeechSynthsizer,则它不起作用。

关闭

语法: public inline void Close ( );

关闭服务的连接。 用户可以选择调用 Close () 来手动关闭关联的识别器/合成器的连接。 调用可能会失败,具体取决于识别器/合成器的进程状态。 但失败不会影响关联的识别器/合成器的状态。

SetMessageProperty

语法: public inline void SetMessageProperty ( const std::string & path , const std::string & propertyName , const std::string & propertyValue );

将消息中的参数追加到服务。 此方法不适用于 SpeechSynthesizer 的连接。 在版本 1.7.0 中添加。

参数

  • path 消息路径。

  • propertyName 属性的名称。

  • propertyValue 属性的值。 这是一个 json 字符串。

返回

无效。

SendMessageAsync

语法: public inline std::future< void > SendMessageAsync ( const std::string & path , const std::string & payload );

向语音服务发送消息。 此方法不适用于 SpeechSynthesizer 的连接。 在版本 1.7.0 中添加。

参数

  • path 消息的路径。

  • payload 消息的有效负载。 这是一个 json 字符串。

返回

一个空的未来。

SendMessageAsync

语法: public inline std::future< void > SendMessageAsync ( const std::string & path , uint8_t * payload , uint32_t size );

将二进制消息发送到语音服务。 此方法不适用于 SpeechSynthesizer 的连接。 在版本 1.10.0 中添加。

参数

  • path 消息的路径。

  • payload 消息的二进制有效负载。

  • size 二进制有效负载的大小。

返回

一个空的未来。

连接

语法: public inline explicit Connection ( SPXCONNECTIONHANDLE handle );

内部构造函数。 使用提供的 句柄创建新实例。

参数

  • handle 连接句柄。

~连接

语法: public inline ~Connection ( );

析构函数。

FromRecognizer

语法: public inline static std::shared_ptr< Connection > FromRecognizer ( std::shared_ptr< Recognizer > recognizer );

从指定的识别器获取 Connection 实例。

参数

  • recognizer 与连接关联的识别器。

返回

识别器的连接实例。

FromConversationTranslator

语法: public inline static std::shared_ptr< Connection > FromConversationTranslator ( std::shared_ptr< Transcription::ConversationTranslator > convTrans );

从指定的聊天翻译器中获取 Connection 实例。

参数

  • convTrans 与连接关联的对话翻译器。

返回

对话翻译器的连接实例。

FromDialogServiceConnector

语法: public inline static std::shared_ptr< Connection > FromDialogServiceConnector ( std::shared_ptr< Dialog::DialogServiceConnector > dialogServiceConnector );

从指定的对话服务连接器获取 Connection 实例,用于观察和管理与语音服务的连接以及断开连接。

参数

  • dialogServiceConnector 与连接关联的对话服务连接器。

返回

对话服务连接器的连接实例。

FromSpeechSynthesizer

语法: public inline static std::shared_ptr< Connection > FromSpeechSynthesizer ( std::shared_ptr< SpeechSynthesizer > synthesizer );

从指定的语音合成器获取 Connection 实例。 在版本 1.17.0 中添加。

参数

  • synthesizer 与连接关联的语音合成器。

返回

语音合成器的连接实例。