1.5 KiB
1.5 KiB
Playback-Tests
Zweck
Tests fuer NFC-Playback, Rekursion, Resume und Buttons.
Voraussetzungen
- Box laeuft:
python3 box/main.py run - Medien unter
box/data/media/
Schritt-fuer-Schritt
NFC-Simulation
Start:
curl -X POST http://127.0.0.1:8000/command \
-H "Content-Type: application/json" \
-d '{"command":"nfc_on","payload":{"uid":"UID_1"}}'
Stop:
curl -X POST http://127.0.0.1:8000/command \
-H "Content-Type: application/json" \
-d '{"command":"nfc_off","payload":{"uid":"UID_1"}}'
Resume
nfc_on UID_1- Warten (Auto-Tick)
nfc_off UID_1nfc_on UID_1Erwartung: Resume nutzt gespeicherte Position.
Tag-Wechsel
nfc_on UID_1nfc_on UID_2nfc_on UID_1Erwartung: UID_1 resumed.
Rekursive Reihenfolge
- Ordner werden DFS traversiert (Unterordner zuerst, dann Dateien).
- Sortierung lexikografisch.
Ende-des-Mediums
- Letzte Datei endet -> Playback stoppt, Position wird am Ende gespeichert.
Buttons
next: file_index + 1prev: wenn position > 3s -> position=0, sonst file_index - 1play_pause: toggelt PLAYING/PAUSEDvolume_up/volume_down: innerhalb 0..max
Checkliste
- ✅ Resume pro UID
- ✅ Tag-Wechsel speichert und resumed
- ✅ Rekursion entspricht Ordnerstruktur
- ✅ Ende-des-Mediums stoppt und speichert
Troubleshooting
- Kein Playback:
- Tags in
box/data/box.jsonpruefen. - Dateien in
box/data/mediapruefen.
- Tags in
- Duration = 0:
- Unbekannte Dateinamen -> Hash-Dauer, nicht 0.