mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:02:46 +00:00
fix: improve speech synthesis handling in ChatOperationButton
--bug=1058147 --user=刘瑞斌 【应用】简易应用-语音播放-浏览器播放-暂停播放后,再点击播放,无响应 https://www.tapd.cn/62980211/s/1727446
This commit is contained in:
parent
b2b144af7c
commit
6773be4fe3
|
|
@ -464,11 +464,15 @@ class AudioManage {
|
|||
if (window.speechSynthesis.paused) {
|
||||
window.speechSynthesis.resume()
|
||||
} else {
|
||||
if (window.speechSynthesis.pending) {
|
||||
// 如果不是暂停状态,取消当前播放并重新开始
|
||||
if (window.speechSynthesis.speaking) {
|
||||
window.speechSynthesis.cancel()
|
||||
}
|
||||
speechSynthesis.speak(audioElement)
|
||||
this.statusList[index] = AudioStatus.PLAY_INT
|
||||
// 等待取消完成后重新播放
|
||||
setTimeout(() => {
|
||||
speechSynthesis.speak(audioElement)
|
||||
this.statusList[index] = AudioStatus.PLAY_INT
|
||||
}, 100)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -489,11 +493,6 @@ class AudioManage {
|
|||
this.statusList[index] = AudioStatus.READY
|
||||
if (self) {
|
||||
window.speechSynthesis.pause()
|
||||
nextTick(() => {
|
||||
if (!window.speechSynthesis.paused) {
|
||||
window.speechSynthesis.cancel()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
window.speechSynthesis.cancel()
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue