W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
注意:speechSynthesis屬性目前處于實驗性階段,在使用它之前,請仔細檢查瀏覽器兼容性表。
Window對象的只讀屬性speechSynthesis返回一個SpeechSynthesis對象,該對象是使用Web Speech API語音合成功能的入口點。
SpeechSynthesis 也從它的父接口繼承屬性, EventTarget.
SpeechSynthesis.paused
只讀SpeechSynthesis
處于暫停狀態(tài)時, Boolean
值返回 true
。SpeechSynthesis.pending
只讀Boolean
值返回 true
。SpeechSynthesis.speaking
只讀SpeechSynthesis
處于暫停狀態(tài), Boolean
返回 true
。var synth = window.speechSynthesis;
一個SpeechSynthesis對象。
在我們的基本語音合成器演示中,我們首先使用window.speechSynthesis獲取對SpeechSynthesis控制器的引用。在定義了一些必要的變量之后,我們使用SpeechSynthesis.getVoices()檢索可用語音的列表并用它們填充選擇菜單,以便用戶可以選擇他們想要的語音。
在inputForm.onsubmit處理程序內(nèi)部,我們使用preventDefault()停止表單提交,創(chuàng)建一個新SpeechSynthesisUtterance實例,其包含文本<input>的文本,將話語的語音設(shè)置為<select>元素中選擇的語音,然后通過該SpeechSynthesis.speak()方法開始說話。
var synth = window.speechSynthesis;
var inputForm = document.querySelector('form');
var inputTxt = document.querySelector('input');
var voiceSelect = document.querySelector('select');
function populateVoiceList() {
voices = synth.getVoices();
for(i = 0; i < voices.length ; i++) {
var option = document.createElement('option');
option.textContent = voices[i].name + ' (' + voices[i].lang + ')';
if(voices[i].default) {
option.textContent += ' -- DEFAULT';
}
option.setAttribute('data-lang', voices[i].lang);
option.setAttribute('data-name', voices[i].name);
voiceSelect.appendChild(option);
}
}
populateVoiceList();
if (speechSynthesis.onvoiceschanged !== undefined) {
speechSynthesis.onvoiceschanged = populateVoiceList;
}
inputForm.onsubmit = function(event) {
event.preventDefault();
var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
var selectedOption = voiceSelect.selectedOptions[0].getAttribute('data-name');
for(i = 0; i < voices.length ; i++) {
if(voices[i].name === selectedOption) {
utterThis.voice = voices[i];
}
}
synth.speak(utterThis);
inputTxt.blur();
}
規(guī)范 | 狀態(tài) | 注釋 |
---|---|---|
Web Speech API
該規(guī)范中“SpeechSynthesis”的定義。
|
Draft
|
電腦端 | 移動端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome
|
Edge
|
Firefox
|
Internet Explorer
|
Opera
|
Safari
|
Android webview | Chrome for Android
|
Edge Mobile | Firefox for Android
|
Opera for Android
|
iOS Safari | |
基本支持 | 支持:33 | 支持 | 支持:49 | 支持 | ? | 支持:7 | ? | 支持 | 支持 | 支持 | 支持 | 支持:7.1 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: