類別 Connection
class Connection
: public std::enable_shared_from_this< Connection >
Connection 是一種 Proxy 類別,可用來管理與指定辨識器之語音服務的連線。 根據預設,辨識器會視需要自發管理服務的連線。 Connection 類別提供其他方法,讓使用者明確開啟或關閉連線,以及訂閱連線狀態變更。 使用 Connection 是選擇性的。 它適用於需要根據連線狀態微調應用程式行為的案例。 用戶可以選擇性地呼叫 Open () ,在與此連線相關聯的辨識器上啟動辨識之前手動起始服務連線。 開始辨識之後,呼叫 Open () 或 Close () 可能會失敗。 這不會影響辨識器或進行中的辨識。 連線可能會因為各種原因而中斷,辨識器一律會嘗試視需要重新建立連線,以確保進行中的作業。 在所有情況下,連線/中斷連線的事件都會指出連線狀態的變更。 已在 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
與連接相關聯的辨識器。
傳回
辨識器的 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 );
從指定的對話框服務連接器取得連線實例,用於觀察和管理與語音服務的連線和中斷連線。
參數
dialogServiceConnector
與連線相關聯的對話框服務連接器。
傳回
對話框服務連接器的連線器實例。
FromSpeechSynthesizer
語法: public inline static std::shared_ptr< Connection > FromSpeechSynthesizer ( std::shared_ptr< SpeechSynthesizer > synthesizer );
從指定的語音合成器取得 Connection 實例。 已在1.17.0版中新增。
參數
synthesizer
與連接相關聯的語音合成器。
傳回
語音合成器的 Connection 實例。