SpeechRecognition:install() 靜態方法
install() 靜態方法是 Web 語音 API 的一部分,用於在指定的語言中安裝 裝置端語音識別 所需的語言包。
要檢查語言包是否已可用,請使用 SpeechRecognition.available() 方法。
對 install() 方法的訪問受 on-device-speech-recognition Permissions-Policy 指令控制。具體來說,如果定義的策略阻止使用,任何嘗試呼叫該方法的行為都將失敗。
語法
install(options)
引數
options-
一個指定安裝選項的物件。可能的屬性包括:
langs-
一個或多個字串組成的陣列,包含 BCP 47 語言標籤,每個標籤代表您希望安裝其語言包的一種語言。
返回值
一個 Promise,它將解析為一個布林值,指示語言包是否成功安裝。導致每種返回值的情況如下:
異常
InvalidStateErrorDOMException-
當前文件未完全啟用。
SyntaxErrorDOMException-
langs中指定的一個或多個字串不是有效的 BCP 47 語言標籤。
示例
檢查裝置端可用性和安裝語言包
為了使裝置上的語音識別工作,瀏覽器必須安裝您要識別的語言的語言包。如果在指定 processLocally = true 後執行 start() 方法,但未安裝正確的語言包,則函式呼叫將失敗並出現 language-not-supported 錯誤。
要安裝正確的語言包,請確保遵循以下兩個步驟
- 使用
SpeechRecognition.available()方法檢查語言包是否在使用者的計算機上可用。 - 如果語言包不可用,則使用
install()方法安裝它。
這些步驟使用以下程式碼片段進行處理:
startBtn.addEventListener("click", () => {
// check availability of target language
SpeechRecognition.available({ langs: ["en-US"], processLocally: true }).then(
(result) => {
if (result === "unavailable") {
diagnostic.textContent = `en-US not available to download at this time. Sorry!`;
} else if (result === "available") {
recognition.start();
console.log("Ready to receive a color command.");
} else {
diagnostic.textContent = `en-US language pack downloading`;
SpeechRecognition.install({
langs: ["en-US"],
processLocally: true,
}).then((result) => {
if (result) {
diagnostic.textContent = `en-US language pack downloaded. Try again.`;
} else {
diagnostic.textContent = `en-US language pack failed to download. Try again later.`;
}
});
}
},
);
});
我們首先執行 available() 方法,指定一種語言 (langs: ["en-US"]) 來檢查可用性,並設定 processLocally: true。我們測試了返回值的三種不同可能性:
- 如果結果值為
unavailable,則表示沒有合適的語言包可供下載。我們還會向輸出列印一條相應的訊息。 - 如果結果值為
available,則表示語言包可在本地使用,因此可以開始識別。在這種情況下,我們執行start()並在應用程式準備好接收語音時將訊息記錄到控制檯。 - 如果該值是其他值(
downloadable或downloading),我們列印一條診斷訊息,通知使用者語言包下載正在開始,然後執行install()方法來處理下載。
install() 方法的工作方式與 available() 方法類似,只是其選項物件僅接受 langs 陣列。執行時,它會開始下載 en-US 語言包,並返回一個 Promise,該 Promise 將解析為一個布林值,指示指定的語言包是否已成功下載和安裝 (true) 或未成功 (false)。
此程式碼摘自我們的 裝置端語音顏色更改器(線上執行演示)。有關完整解釋,請參閱 使用 Web 語音 API。
規範
| 規範 |
|---|
| Web Speech API # dom-speechrecognition-install |
瀏覽器相容性
載入中…