类连接
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 事件,指示识别器已与服务断开连接。
语法: public EventSignal< constConnectionMessageEventArgs & > MessageReceived;
MessageReceived 事件,指示基础协议从服务收到消息。 在版本 1.10.0 中添加。
语法: public inline void Open ( bool forContinuousRecognition );
开始设置与服务的连接。 用户可以选择调用 Open () ,以在与此连接关联的识别器/合成器上开始识别/合成之前提前手动设置连接。 开始识别后,调用 Open () 可能会失败,具体取决于识别器/合成器的进程状态。 但失败不会影响关联的识别器/合成器的状态。 注意:返回时,连接可能尚未就绪。 请订阅 Connected 事件,以在建立连接时收到通知。
forContinuousRecognition
指示连接是用于连续识别还是单次识别。 如果连接来自 SpeechSynthsizer,则它不起作用。
语法: public inline void Close ( );
关闭服务的连接。 用户可以选择调用 Close () 来手动关闭关联的识别器/合成器的连接。 调用可能会失败,具体取决于识别器/合成器的进程状态。 但失败不会影响关联的识别器/合成器的状态。
语法: public inline void SetMessageProperty ( const std::string & path , const std::string & propertyName , const std::string & propertyValue );
将消息中的参数追加到服务。 此方法不适用于 SpeechSynthesizer 的连接。 在版本 1.7.0 中添加。
path
消息路径。propertyName
属性的名称。propertyValue
属性的值。 这是一个 json 字符串。
无效。
语法: public inline std::future< void > SendMessageAsync ( const std::string & path , const std::string & payload );
向语音服务发送消息。 此方法不适用于 SpeechSynthesizer 的连接。 在版本 1.7.0 中添加。
path
消息的路径。payload
消息的有效负载。 这是一个 json 字符串。
一个空的未来。
语法: 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 ( );
析构函数。
语法: public inline static std::shared_ptr< Connection > FromRecognizer ( std::shared_ptr< Recognizer > recognizer );
从指定的识别器获取 Connection 实例。
recognizer
与连接关联的识别器。
识别器的连接实例。
语法: public inline static std::shared_ptr< Connection > FromConversationTranslator ( std::shared_ptr< Transcription::ConversationTranslator > convTrans );
从指定的聊天翻译器中获取 Connection 实例。
convTrans
与连接关联的对话翻译器。
对话翻译器的连接实例。
语法: public inline static std::shared_ptr< Connection > FromDialogServiceConnector ( std::shared_ptr< Dialog::DialogServiceConnector > dialogServiceConnector );
从指定的对话服务连接器获取 Connection 实例,用于观察和管理与语音服务的连接以及断开连接。
dialogServiceConnector
与连接关联的对话服务连接器。
对话服务连接器的连接实例。
语法: public inline static std::shared_ptr< Connection > FromSpeechSynthesizer ( std::shared_ptr< SpeechSynthesizer > synthesizer );
从指定的语音合成器获取 Connection 实例。 在版本 1.17.0 中添加。
synthesizer
与连接关联的语音合成器。
语音合成器的连接实例。