Четыре программных модуля воспроизведения звука. Два играют файлы с носителя, два принимают поток по сети. Все работают только в нулевом слоте и с любым из трёх звуковых аппаратных модулей.

МодульИсточникБаза топикаОсобенности
mp3Playerфайлы .mp3 с карты памятиplayer_<slot>скорость, тональность, эквалайзер
wavPlayerфайлы .wav с карты памятиplayer_<slot>те же опции, без декодирования — быстрее старт
audioLANRTP-поток по сети, без сжатияaudioStream_<slot>задержка ~70 мс, нужна быстрая сеть
opusLANRTP-поток по сети, кодек OpusaudioStream_<slot>задержка ~100 мс, синхронное воспроизведение на нескольких приёмниках (latencyMs)

Аппаратная часть — один из модулей: soundMono (динамик), soundStereo (активная акустика, наушники), soundAmp (пассивные колонки).

Проигрыватели

mp3Player и wavPlayer управляются одинаково: action/play с номером трека, приращением +N/-N, random или # (текущий), action/stop, action/shift, action/setVolume; по окончании трека — event/endOfTrack. Треки нумеруются с нуля в алфавитном порядке имён файлов.

Сетевые приёмники

audioLAN и opusLAN принимают unicast-поток на порт port либо multicast-группу multicastAddress; адрес меняется на лету командой action/setMulticastAddress. Рапортуют event/volume и event/address. Источник потока на ПК — приложение AntiDante.

Пример

[SLOT_0]
mode = mp3Player
options = volume:80
[SLOT_1]
mode = button_led
;нажатие - следующий трек
crosslink = button_1/event/press:1->player_0/action/play:+1

Подробнее — внутренние связи (crossLink).

в этой папке 5 элементов