共用方式為


類別 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 實例。