首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SpeechSynthesis API端回调不起作用

SpeechSynthesis API端回调不起作用
EN

Stack Overflow用户
提问于 2014-05-06 00:17:28
回答 9查看 17.4K关注 0票数 34

我在GoogleChromev34.0.1847.131上使用语音合成API。该API是在Chrome中实现的,从v33开始。

除了为onend分配回调时,文本到语音的大部分工作都是有效的。例如,以下代码:

代码语言:javascript
运行
复制
var message = window.SpeechSynthesisUtterance("Hello world!");
message.onend = function(event) {
    console.log('Finished in ' + event.elapsedTime + ' seconds.');
};
window.speechSynthesis.speak(message);

有时会调用onend,有时不会调用它。时机似乎完全过时了。当它被调用时,打印的elapsedTime总是一些划时代的时间,比如1399237888

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2014-05-12 02:28:53

虽然这是我发现它工作的方式,但我不确定这是否是正确的行为.

首先,不要立即调用call函数,使用回调。

第二,为了获得时间,使用timeStamp而不是elapsedTime。您也可以使用performance.now()

代码语言:javascript
运行
复制
var btn = document.getElementById('btn');
speechSynthesis.cancel()
var u = new SpeechSynthesisUtterance();
u.text = "This text was changed from the original demo.";

var t;
u.onstart = function (event) {
    t = event.timeStamp;
    console.log(t);
};

u.onend = function (event) {
    t = event.timeStamp - t;
    console.log(event.timeStamp);
    console.log((t / 1000) + " seconds");
};

btn.onclick = function () {speechSynthesis.speak(u);};

演示:http://jsfiddle.net/QYw6b/2/

你得到了时间,这两个事件都肯定会被触发。

票数 11
EN

Stack Overflow用户

发布于 2016-03-11 08:54:11

根据Kevin在答案中提到的bug上的这句话,这可能是垃圾收集的一个问题。在调用speak 看上去很管用之前将语句存储在变量中

代码语言:javascript
运行
复制
window.utterances = [];
var utterance = new SpeechSynthesisUtterance( 'hello' );
utterances.push( utterance );
speechSynthesis.speak( utterance );
票数 24
EN

Stack Overflow用户

发布于 2014-09-03 22:21:04

您可以使用EventListener作为开始和结束,就像我对Speakerbot (http://www.speakerbot.de/)一样。

在这里,说话时,我的脸变了。

代码语言:javascript
运行
复制
newUtt = new SpeechSynthesisUtterance();

newUtt.addEventListener('start', function () {
     console.log('started');
})

newUtt.addEventListener('end', function () {
     console.log('stopped');
})
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23483990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档