audio_player.php
Client-driven audio player for the reading screen.
Markup-only counterpart of MediaService::renderHtml5AudioPlayer: it carries
NO per-text data (no audioPlayer component fetches GET /texts/{id}/audio on init, sets the audio
source + offset + player settings, and reveals the player (x-show="hasAudio")
only when the text actually has audio. This keeps read_desktop.php free of
server-rendered audio data so the reader works in a bundled/offline client.
The control markup mirrors the server-rendered player exactly (same classes, bindings and icons) so styling and behavior are unchanged.
PHP version 8.1