66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# 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.
|