android 语音合成 谷歌网站,在chrome中的语音合成为android不加载声音

有两个问题

1)在手机上,你需要一个用户手势来开始播放文本。将它添加到一个onclick处理程序请参见下面的demo:

Play

function playSentence(text) {

var msg = new SpeechSynthesisUtterance();

msg.text = text;

window.speechSynthesis.speak(msg);

}

$("#btnPlay").click(function() {

playSentence("Hello world");

});

2)该演示也断:\但也有您需要照顾的两个关键部分。

i。 getVoices是asynchronus(在Spec勘误中提到),你需要听voiceschanged event,推理有点令人沮丧,但是有道理,语音系统被延迟加载,并且第一次调用getVoices将阻止主线程,所以第一次调用在android上返回0结果,然后在声音可用时触发onvoiceschanged。

ii。 linked demo错误地在话语上设置voice属性。这不存在,您需要更改lang和可选的voiceURI以更改默认使用的语音,如下面和new demo中所示。

if (voiceSelect.value) {

var selectedVoice = speechSynthesis.getVoices().filter(function(voice) { return voice.voiceURI == voiceSelect.value; })[0];

msg.voiceURI = selectedVoice.voiceURI;

msg.lang = selectedVoice.lang;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值