Task 11 of 16 — these are sequential, do them in order.
Previous: #13 · Next: #15
Port target: cloudpark-toolkit (Go) → this repo (Rust). Reference paths below are relative to that repo.
Goal
Port the TCP105 voice-prompt playback so VoiceBroadcast commands are audible on the dev machine.
Scope
- Embed the wav set in the binary (
include_bytes! / rust-embed), copied from cloudpark-toolkit/internal/tcp105/audio/files/*.wav.
- Map
AudioID → wav file + human label (the label is what the log pane shows).
- Play through whatever is installed (
paplay, aplay, ffplay) — detect once, fall back in order, and if none exists just log the prompt name instead of failing.
- Serialise playback so overlapping broadcasts queue rather than talk over each other.
Reference
cloudpark-toolkit/internal/tcp105/audio/audio.go + audio_test.go
Done when
Task 11 of 16 — these are sequential, do them in order.
Previous: #13 · Next: #15
Goal
Port the TCP105 voice-prompt playback so
VoiceBroadcastcommands are audible on the dev machine.Scope
include_bytes!/rust-embed), copied fromcloudpark-toolkit/internal/tcp105/audio/files/*.wav.AudioID→ wav file + human label (the label is what the log pane shows).paplay,aplay,ffplay) — detect once, fall back in order, and if none exists just log the prompt name instead of failing.Reference
cloudpark-toolkit/internal/tcp105/audio/audio.go+audio_test.goDone when