class Connection
: public std::enable_shared_from_this< Connection >
Connection 是一種 Proxy 類別,用於管理與指定辨識器之語音服務的連線。 根據預設,辨識器會視需要自主管理服務的連線。 Connection 類別會提供其他方法,讓使用者明確開啟或關閉連線,以及訂閱連線狀態變更。 使用 Connection 是選擇性的。 它適用於需要根據連線狀態微調應用程式行為的案例。 用戶可以選擇性地呼叫 Open() 以手動起始服務連線,再開始辨識與此連線相關聯的辨識器。 啟動辨識之後,呼叫 Open() 或 Close() 可能會失敗。 這不會影響辨識器或進行中的辨識。 連線可能會因為各種原因而中斷,辨識器一律會嘗試視需要重新建立連線,以確保進行中的作業。 在這些情況下,Connected/Disconnected 事件會指出連線狀態的變更。 已在 1.17.0 版中更新。
成員
已連線
語法:public EventSignal< const ConnectionEventArgs & > Connected;
Connected 事件,表示辨識器已連線至服務。
連線中斷
語法:public EventSignal< const ConnectionEventArgs & > Disconnected;
Disconnected 事件,表示辨識器已中斷服務連線。
MessageReceived
語法:public EventSignal< const ConnectionMessageEventArgs & > MessageReceived;
MessageReceived 事件,表示基礎通訊協定已從服務接收訊息。 已在1.10.0版中新增。
打開
語法:public inline void Open ( bool forContinuousRecognition );
開始設定服務的連線。 用戶可以選擇性地呼叫 Open() 以事先設定連線,然後再開始與此連線相關聯的辨識器/合成器上的辨識/合成器。 開始辨識之後,呼叫 Open() 可能會失敗,視辨識器/合成器的進程狀態而定。 但是失敗不會影響相關聯辨識器/合成器的狀態。 注意:傳回時,連線可能尚未就緒。 請訂閱連線事件,以在建立連線時收到通知。
參數
-
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與連接相關聯的辨識器。
退貨
辨識器的 Connection 實例。
FromConversationTranslator
語法:public inline static std::shared_ptr< Connection > FromConversationTranslator ( std::shared_ptr< Transcription::ConversationTranslator > convTrans );
從指定的交談翻譯工具取得 Connection 實例。
參數
-
convTrans與連線相關聯的交談翻譯工具。
退貨
交談翻譯工具的 Connection 實例。
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與連線相關聯的語音合成器。
退貨
語音合成器的連接實例。