_utterance!.onend = (event) {
// Stop recording when the speech synthesis has finished
_recorder.stopRecording();
};
簡單來說,某些版本的瀏覽器/JavaScript不支援這段程式碼。
「為什麼會有這種事情?」
天哪!這解釋起來不只超過我的pay grade,事實上連我本身的knowing grade也不夠用。
所以....
反正就是會這樣。
這種時候,通常最好的辦法就是另尋它路解決。
不就是要知道「text to speech是否已經播放完成」了嗎?
問問看「有沒有檢查text to speech是否正在播放語音的辦法?」
還真有。
if (_synthesis.speaking??false) {
// If _synthesis is still speaking, wait for a short delay and then check again
} else {
// If _synthesis is not speaking, stop recording
}
但要怎麼使用這個辦法呢?
有了!另外啟動一條執行序,然後不停檢查這個「synthesis.speaking」吧!
....
明天再繼續吧!(感冒還沒好完全。)