[Microsoft代理程式從 Windows 7 開始已被取代,而且可能無法在後續版本的 Windows 中使用。]
雖然Microsoft Agent 的服務包含語音輸入的支援,但必須安裝相容的命令和控制語音辨識引擎,才能存取 Agent 的語音輸入服務。 同樣地,如果您想要使用 Microsoft Agent 的語音服務來支援字元的合成語音輸出,則必須為您的字元安裝相容的文字到語音轉換語音引擎。 由於Microsoft代理程式的語音服務是以 Microsoft 語音 API (SAPI) 為基礎,因此您可以使用任何可搭配支援所需語音介面的引擎。
若要在應用程式中啟用語音輸入支援,請定義 Command 物件,並設定其 Voice 屬性。 Microsoft代理程式會自動載入語音服務,讓使用者按下接聽鍵或呼叫 Listen時,將會載入語音辨識引擎。 根據預設,角色的語言標識符會決定要載入哪個引擎。 代理程式會嘗試載入 SAPI 所返回的第一個與此語言匹配的引擎。 如果您想要載入特定引擎,請使用 IAgentCharacterEx::SetSRModeID。
若要啟用文字到語音轉換輸出,請使用 Speak 方法。 Microsoft Agent 會自動嘗試載入與角色語言代碼相符的引擎。 如果字元的定義包含特定的 TTS 引擎模式識別碼,且該引擎可供使用,且符合字元的語言識別碼,Agent 會載入該字元的引擎。 如果沒有,代理程式會載入 SAPI 傳回的第一個 TTS 引擎,以符合角色語言設定。 您也可以使用 IAgentCharacterEx::SetTTSModeID 載入特定引擎。
一般而言,Microsoft Agent 會在起始接聽模式時載入語音辨識引擎,並在第一次呼叫 Speak 時載入文字到語音轉換引擎。 不過,如果您想要預先載入語音引擎,您可以藉由查詢與語音介面相關的屬性來執行此動作。 例如,呼叫 IAgentCharacterEx::GetSRModeID 或 IAgentCharacterEx::GetTTSModeID 會嘗試載入該類型的引擎。