获取消息的语音通话时长(javascript,SpeechSynthesisUtterance,chrome)

时间:2018-10-10 16:27:55

标签: javascript google-chrome text-to-speech

是否可以获得阅读特定消息所需的时间?我想使用SpeechSynthesisUtterance Web API,它只能在google chrome中工作。

推荐使用第三方库吗?在后台弄乱时间是否可行?

1 个答案:

答案 0 :(得分:0)

要解决此问题(使用SpeechSynthesisUtterance),我借助onend事件来测量时间。这并非在所有情况下都是可行的,因为这将需要一些时间进行测量并且不是很精确。您可以提高速度(最多10个),但会变得非常不精确。

var speed = 2;
var text = "Test";
var speech = new SpeechSynthesisUtterance(text);
speech.volume = 0 / 100;
speech.rate = speed;

speech.onend = function (event : SpeechSynthesisEvent) {
    var speakDuration = event.elapsedTime * speed;
    // save the speakDuration
};
window.speechSynthesis.speak(speech);