feat: Add BookPlayer app and update CI build matrix
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user