用于android的chrome语音合成不加载语音
我有一个在chrome for windows上正确运行的脚本,但当我在android chrome上尝试它时,它不起作用。 这似乎是一个声音的问题,因为:用于android的chrome语音合成不加载语音,android,google-chrome,speech-synthesis,Android,Google Chrome,Speech Synthesis,我有一个在chrome for windows上正确运行的脚本,但当我在android chrome上尝试它时,它不起作用。 这似乎是一个声音的问题,因为: if ('speechSynthesis' in window) 返回true。 我尝试了一些在线示例(例如),但“声音”选择列表是空的 我需要安装一些东西才能工作吗 此代码适用于windows的chrome,但不适用于android的chrome: function playSentence(text) { var m
if ('speechSynthesis' in window)
返回true。
我尝试了一些在线示例(例如),但“声音”选择列表是空的
我需要安装一些东西才能工作吗
此代码适用于windows的chrome,但不适用于android的chrome:
function playSentence(text) {
var msg = new SpeechSynthesisUtterance();
msg.text = text;
window.speechSynthesis.speak(msg);
}
$(function () {
playSentence("Hello world");
});
版本:Android 5.0.0-Chrome 46.0.2490.76有两个问题
1) 在手机上,您需要一个用户手势来开始播放文本。将其添加到onclick处理程序中,请参见以下内容:
感谢您抽出时间回复。问题是该设备中没有安装语音(我不知道为什么,也不知道这是否是一个常见问题)。我在android上安装了一个TTS程序,之后问题就解决了。无论如何,正如你所说,显然,话语的“声音”属性没有任何效果,我不得不改变“朗”属性。我认为这解决了问题。我将进一步测试它,并编辑我的原始问题。谢谢
<body>
<button id="btnPlay">Play</button>
<script>
function playSentence(text) {
var msg = new SpeechSynthesisUtterance();
msg.text = text;
window.speechSynthesis.speak(msg);
}
$("#btnPlay").click(function() {
playSentence("Hello world");
});
</script>
</body>
if (voiceSelect.value) {
var selectedVoice = speechSynthesis.getVoices().filter(function(voice) { return voice.voiceURI == voiceSelect.value; })[0];
msg.voiceURI = selectedVoice.voiceURI;
msg.lang = selectedVoice.lang;
}