# Tactility Book Player App The Book Player app for Tactility OS plays children's books stored on the SD card. Each book is organized in its own subfolder and contains a sequential layout of pages with both visual illustrations (images) and narration (audio). ## SD Card Layout Books must be stored under `/sdcard/books/` on the device SD card with the following structure: ```text /sdcard/books/ book_slug_1/ manifest.json page001.png page001.mp3 page002.png page002.mp3 ... book_slug_2/ manifest.json page001.jpg page001.wav page002.jpg page002.wav ... ``` ## Manifest Format Each book subfolder must contain a `manifest.json` file. Here is a sample format: ```json { "title": "Princess Grace and Poppy", "author": "Reyna Family", "id": "grace-poppy", "format": "tactility-book-manifest-v1", "display": { "width": 320, "height": 240 }, "audio": { "encoding": "mp3", "sample_rate_hz": 16000, "channels": 1, "bitrate_kbps": 24 }, "pages": [ { "image": "page001.png", "audio": "page001.mp3", "caption": "Once upon a time, in a magnificent castle perched high on a hill above the sea, there lived five princesses..." }, { "image": "page002.png", "audio": "page002.mp3", "caption": "This is the story of Princess Grace..." } ] } ``` ## Content Requirements - **Images**: PNG or JPG format. Recommended size is `320×240` pixels (or scaled to match standard aspect ratios). - **Audio**: Mono `MP3` or uncompressed standard `WAV` files. For ESP32-S3 systems, lower sampling rates (e.g. 16 kHz mono) are recommended for memory efficiency. ## Book Selection and Playback The picker displays the selected book's first page image full-screen with its title. Tap the left or right side of the cover, or swipe right or left, to choose the previous or next book. Tap the Play button to begin page-one narration through the same playback flow used by the in-book player. Once playing, the existing previous, pause/play, next, progress, and auto-advance controls remain unchanged.