When the auto-next feature navigated to a new chapter and startAudio was called on page load (outside a user gesture), the browser's autoplay policy blocked the audio.play() call inside onCanPlay. Fix by setting audio.autoplay = true before audio.load() when started automatically, then resetting it in onCanPlay so manual pause/play is unaffected.