Skip to content

Audio

The device has one audio output in the current release: HDMI, driven through ALSA. This page covers reading and changing volume/mute.

Check current audio state

curl http://10.99.0.1/api/v1/audio
{ "output": "hdmi", "volume": 80, "mute": false }

Web UI: Audio page.

Change volume or mute

curl -X POST http://10.99.0.1/api/v1/audio \
  -H 'Content-Type: application/json' \
  -d '{"volume": 60, "mute": false}'

volume is 0100, mapped internally to the HDMI output's dB range. Both fields apply immediately (pushed to ALSA live) and are persisted, so they survive a reboot. You can omit either field to leave it unchanged.

You can also change volume through the general configuration API (PATCH /config {"audio": {"volume": 60, "mute": false}}) — both routes end up at the same place; POST /audio is the more convenient shortcut for this specific, frequently-changed pair of fields.

Web UI: Audio page → volume slider / mute toggle — changes apply as you move the slider.

Audio output

audio.output (currently only "hdmi" is a valid value) is set through configuration and is reboot_required — it exists as a forward-looking field for boards/configurations with more than one possible output (e.g. a future 3.5 mm jack or USB audio); there is nothing to switch to in the current release.

Where sound comes from

Audio follows whatever the displayed page plays (e.g. a <video> or <audio> element, or the Web Audio API) through the browser's normal HDMI audio path — there's no separate "device audio" concept beyond the volume/mute controls above. If a bundle or remote page is silent, check that its own media isn't muted or blocked by autoplay policy before assuming a device-level problem.

See also