1.6 KiB
1.6 KiB
Playback-Tests
Zweck
Tests fuer NFC-Playback, Rekursion, Resume und Buttons.
Voraussetzungen
- Box laeuft:
python3 box/main.py run - Medienkatalog unter
gui/backend/media/ - Box spielt nur Medien, die ueber Tags zugeordnet wurden.
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.
- Tags in
- Medienordner im Backend pruefen (
gui/backend/media). - Duration = 0:
- Unbekannte Dateinamen -> Hash-Dauer, nicht 0.