gpt4 book ai didi

javascript - SpeechSynthesisUtterance 未触发 "mark"事件

转载 作者:行者123 更新时间:2023-12-04 09:59:19 27 4
gpt4 key购买 nike

我无法获得 mark 事件 SpeechSynthesisUtterance 实例触发。

据我所知,这应该有效。我期待看到

Started
Reached mark
Done

相反,我得到
Started
Done

document.querySelector('#play').addEventListener('click', function speak() {
const utterance = new SpeechSynthesisUtterance(
`<?xml version="1.0"?>
<speak version="1.1">Foo <mark name="bar" /> baz.</speak>`
)

const log = document.getElementById('log')

utterance.addEventListener('start', () => {log.value = 'Started\n'})
utterance.addEventListener('mark', () => {log.value += 'Reached mark\n'})
utterance.addEventListener('end', () => {log.value += 'Done\n'})

log.value = 'Waiting…'
speechSynthesis.cancel()

speechSynthesis.speak(utterance)
})
<textarea id="log" disabled rows="3">Waiting…</textarea>
<hr>
<button id="play">Speak</button>

最佳答案

很抱歉让您知道这是一个错误并且 SSML 尚未实现。

https://github.com/WICG/speech-api/issues/10
https://bugs.chromium.org/p/chromium/issues/detail?id=88072

你会看到 chronium 问题已经有 9 年的历史了,所以我怀疑它会很快得到修复。

关于javascript - SpeechSynthesisUtterance 未触发 "mark"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61862748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com