類別連線

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 與連線相關聯的語音合成器。

退貨

語音合成器的連接實例。