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
    评论
1. 谷歌浏览器实现自动播报语音 要实现自动播放语音,需要使用Web Speech API。这个API提供了两种语音合成的方式:SpeechSynthesisSpeechRecognition。 SpeechSynthesis是用来合成语音的,而SpeechRecognition则用来识别用户的语音输入。在这里,我们只关注SpeechSynthesis。 下面是一个简单的例子,演示如何使用SpeechSynthesis API来合成语音: ```javascript var msg = new SpeechSynthesisUtterance(); msg.text = "Hello, world!"; // 要合成的文本 window.speechSynthesis.speak(msg); // 开始合成语音 ``` 2. Vue解决Chrome浏览器自动播放音频 在Chrome浏览器,为了避免页面加载时自动播放音频,浏览器会默认禁用自动播放。这对于一些需要自动播放音频的应用来说是一个问题。 为了解决这个问题,可以使用一个叫做“用户交互事件”的方法。当用户在页面上触发了某些事件(比如点击、滚动等),就可以认为用户已经与页面进行了交互,从而可以自动播放音频。 在Vue,可以将自动播放音频的代码放在mounted()方法,这样当组件挂载到页面上时,就会自动播放音频: ```javascript mounted() { var audio = new Audio('path/to/audio.mp3'); audio.play(); } ``` 3. MP3语音打包到线上 要将MP3语音打包到线上,可以使用webpack的file-loader插件。这个插件会将指定的文件复制到输出目录,并生成一个对应的URL。 首先,在webpack.config.js配置file-loader: ```javascript module.exports = { module: { rules: [ { test: /\.mp3$/, use: [ { loader: 'file-loader', options: { name: '[name].[ext]', outputPath: 'audio/' } } ] } ] } } ``` 上面的配置会将所有后缀为.mp3的文件复制到outputPath指定的目录下,并生成一个对应的URL。 然后,在Vue组件,可以使用这个URL来播放音频: ```javascript mounted() { var audio = new Audio('audio/audio.mp3'); audio.play(); } ``` 这样就可以将MP3语音打包到线上了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值