The onplay handler set the button text to 'Pause' mid-playback but the button's onclick was still wired to speakText. Clicking Pause re-ran speakText, which created a fresh Audio from the cached blob — the queued audio paused while a new one started from the beginning, sounding like a double-play. Rebind the click handler to direct audio.pause()/play() while the queued audio owns playback, restore the original (cache-replay) handler on end or error. |
||
|---|---|---|
| .. | ||
| auth.html | ||
| base.html | ||
| browse.html | ||
| chat.html | ||
| index.html | ||
| profile.html | ||
| search.html | ||