這樣可以正常工作,它會在點擊時說出文字區域,但是如何將其改爲說話onload
?在頁面加載時運行ResponsiveVoice語音
<script src="http://responsivevoice.org/responsivevoice/responsivevoice.js"></script>
<script src="http://code.jquery.com/jquery-git2.js"></script>
<textarea id="text" cols="45" rows="3"> HHHH</textarea>
<select id="voiceselection"></select>
<input onclick="responsiveVoice.speak($('#text').val(),$('#voiceselection').val());" type="button" value="Play" />
<br>
<button id="isPlaying">Playing:</button>
<p id="r">?</p>
文本區域只是說四個字母了。
我想這是關鍵的部分,但不能將其放入任何正常執行:
responsiveVoice.speak($('#text').val(),$('US English Female').val());
我想:
var voicelist = responsiveVoice.getVoices();
var vselect = $("#voiceselection");
$.each(voicelist, function() {
vselect.append($("<option />").val(this.name).text(this.name));
});
// Yours
$('#isPlaying').on('click', function() {
$('#r').text(window.speechSynthesis.speaking)
})
$(document).ready(function() { //short code: $(function() { ... });
responsiveVoice.speak($('#text').val(), $('US English Female').val());
});
<script src="http://responsivevoice.org/responsivevoice/responsivevoice.js"></script>
<script src="http://code.jquery.com/jquery-git2.js"></script>
<textarea id="text" cols="45" rows="3">It reads this</textarea>
<select id="voiceselection"></select>
<script>
</script>
<input onclick="responsiveVoice.speak($('#text').val(),$('US English Female').val());" type="button" value="Play" />
但我得到一個「找不到未定義的語音」錯誤。
'$(「美國英語女」)'不是一個有效的** HTML元素**。 'responsiveVoice.speak($('#text')。val(),'美國英語女性')' – jherax
就像評論和答案中提到的一樣,問題不在於語音選擇(api和libs *應該*默認情況下回退)問題在於聲音尚未加載。 – rlemon