类连接

class Connection
  : public std::enable_shared_from_this< Connection >

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

成员

已连接

语法:public EventSignal< const ConnectionEventArgs & > Connected;

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

已断开连接

语法:public EventSignal< const ConnectionEventArgs & > Disconnected;

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

MessageReceived

语法:public EventSignal< const ConnectionMessageEventArgs & > 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 );

将消息中的参数追加到服务。 在版本 1.7.0 中添加。

参数

  • path 消息路径。

  • propertyName 属性的名称。

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

退货

无效。

SendMessageAsync

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

将消息发送到语音服务。 在版本 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 );

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

参数

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

退货

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

FromSpeechSynthesizer

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

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

参数

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

退货

语音合成器的连接实例。