Skip to content
This repository was archived by the owner on Apr 23, 2026. It is now read-only.

2.9.13: Reader audio toolbar with SRT subtitle sync

Choose a tag to compare

@ShiroiKuma0 ShiroiKuma0 released this 19 Apr 02:39

2.9.13

Reader Audio Toolbar

A new persistent toolbar at the bottom of the ebook reader enables audiobook playback synced with SRT subtitles — the same workflow as the video Player, but for reading.

Features

  • Audio playback — select an MP3 (or M4A, OGG, WAV, FLAC, AAC) file to play alongside the book
  • SRT subtitle sync — select an SRT file to enable subtitle-aware controls
  • Playback controls — skip to previous/next subtitle line, replay current subtitle, play/pause, progress slider, current time / total time display
  • Playback modes — Normal, Auto-pause (pauses at end of each subtitle line), and Condensed (skips gaps between lines), matching the Player behavior
  • Playback speed — adjustable from 0.5x to 2.0x
  • Per-book persistence — audio file, subtitle file, and playback position are saved per book and restored on reopen
  • Options menu — bottom sheet for file selection, speed, mode cycling, and audio removal

Reading Position Persistence

  • The ッツ ebook reader now enables auto-bookmarking by default, ensuring reading position is reliably saved on every scroll rather than only on certain exits

Technical Notes

  • Audio playback uses just_audio (existing dependency)
  • Subtitle parsing uses the existing subtitle package with SubtitleController.initial()
  • Persistence uses a dedicated Hive box (readerAudio)
  • Seek operations use an _isSeeking guard to prevent just_audio's async position stream from firing stale events that would interfere with auto-pause and replay logic