存取語音服務 (Microsoft Agent Server 介面)

[Microsoft 代理程式在 Windows 7 中已被取代,且在後續版本的 Windows 中可能無法使用。]

雖然 Microsoft Agent 的服務包含語音輸入的支援,但必須安裝相容的命令和控制語音辨識引擎,才能存取 Agent 的語音輸入服務。 同樣地,如果您想要使用 Microsoft Agent 的語音服務來支援字元的合成語音輸出,您必須為字元安裝相容的文字轉換語音 (TTS) 語音引擎。 由於 Microsoft Agent 的語音服務是以 Microsoft 語音 API (SAPI) 為基礎,因此您可以使用任何可理解支援所需語音介面的引擎。

若要在應用程式中啟用語音輸入支援,請定義 Command 物件並設定其 Voice 屬性。 Microsoft 代理程式會自動載入語音服務,因此當使用者按下接聽鍵或呼叫 Listen時,將會載入語音辨識引擎。 根據預設,字元的語言識別項會決定載入哪個引擎。 代理程式會嘗試載入 SAPI 傳回為符合此語言的第一個引擎。 如果您想要載入特定引擎,請使用 IAgentCharacterEx::SetSRModeID

若要啟用文字到語音轉換輸出,請使用 Speak 方法。 Microsoft Agent 會自動嘗試載入符合字元語言識別項的引擎。 如果字元的定義包含特定的 TTS 引擎模式識別碼,且該引擎可供使用,且符合字元的語言識別項,Agent 會載入該引擎作為字元。 如果沒有,Agent 會載入 SAPI 傳回為符合字元語言設定的第一個 TTS 引擎。 您也可以使用 IAgentCharacterEx::SetTTSModeID 載入特定引擎。

一般而言,Microsoft Agent 會在起始接聽模式時載入語音辨識引擎,並在第一次呼叫 Speak 時載入文字轉換語音引擎。 不過,如果您想要預先載入語音引擎,您可以藉由查詢與語音介面相關的屬性來執行此動作。 例如,呼叫 IAgentCharacterEx::GetSRModeIDIAgentCharacterEx::GetTTSModeID 將會嘗試載入該類型的引擎。