mirror of
https://github.com/jlelse/GoBlog
synced 2024-06-29 11:27:34 +00:00
36 lines
922 B
JavaScript
36 lines
922 B
JavaScript
|
(function () {
|
||
|
let speakButton = query('#speakBtn')
|
||
|
let ttsAudio = query('#tts-audio')
|
||
|
|
||
|
let init = false
|
||
|
|
||
|
speakButton.textContent = speakButton.dataset.speak
|
||
|
speakButton.classList.remove('hide')
|
||
|
speakButton.addEventListener('click', function () {
|
||
|
if (!init) {
|
||
|
init = true
|
||
|
query('#tts').classList.remove('hide')
|
||
|
ttsAudio.play()
|
||
|
} else {
|
||
|
togglePlay()
|
||
|
}
|
||
|
})
|
||
|
|
||
|
let isPlaying = false
|
||
|
|
||
|
function togglePlay() {
|
||
|
isPlaying ? ttsAudio.pause() : ttsAudio.play()
|
||
|
}
|
||
|
ttsAudio.onplaying = function() {
|
||
|
isPlaying = true
|
||
|
speakButton.textContent = speakButton.dataset.stopspeak
|
||
|
}
|
||
|
ttsAudio.onpause = function() {
|
||
|
isPlaying = false
|
||
|
speakButton.textContent = speakButton.dataset.speak
|
||
|
}
|
||
|
|
||
|
function query(selector) {
|
||
|
return document.querySelector(selector)
|
||
|
}
|
||
|
})()
|