[SLOT_0] ;только нулевой слот
mode = mp3PlayerПрограммный модуль проигрывателя аудиофайлов формата .mp3. Есть возможность настроить тональность и скорость воспроизведения, а также эквалайзер в трёх диапазонах частот.
Совместимость
- Модуль монофонического звука
- Модуль стереофонического звука
- Модуль усилителя мощности
- Модуль карты памяти
Модуль работает только в нулевом слоте.
Принцип работы
При запуске контроллер сканирует файловую систему, находит аудиофайлы формата
.mp3 и сортирует их в алфавитном порядке. Дальше файлы проигрываются по номеру
в этом списке; по окончании трека модуль рапортует событие endOfTrack.
Нумерация треков начинается с нуля.
Опция playToEnd запрещает прерывать играющий трек новой командой, playDelay добавляет паузу перед стартом, attenuation задаёт время плавного затухания громкости при остановке.
| Поддерживаемый формат | .mp3 |
|---|---|
| Битрейт | 192 kbps |
| Самплрейт | 44100 Гц |
| Количество каналов | 2 |
Топики
База топика события:
<deviceName>/player_<slot>— напримерmoduleBox/player_0
База топика действия:
<deviceName>/player_<slot>— напримерmoduleBox/player_0
Полный топик — база плюс направление и имя: moduleBox/player_0/action/play.
Опции
Доступные опции:
- volume — число(int), громкость. Диапазон 0–100. По умолчанию 70.
- speed — число(float), скорость воспроизведения. Диапазон 0.1–3.0. По умолчанию 1.09.
- tone — число(float), сдвиг тональности без изменения скорости. Диапазон 0.1–3.0. По умолчанию 1.0.
- eqLow — число(int), нижняя граница эквалайзера. Диапазон -20–0. По умолчанию -13.
- eqMid — число(int), средняя граница эквалайзера. Диапазон -20–0. По умолчанию -13.
- eqHigh — число(int), верхняя граница эквалайзера. Диапазон -20–0. По умолчанию -13.
- attenuation — число(int), период затухания громкости в мс (0 — выключено). Если во время затухания приходит
playс текущим треком, воспроизведение продолжается. Диапазон 0–10000. По умолчанию 0. - playDelay — число(int), пауза перед проигрыванием в мс. Диапазон 0–4096. По умолчанию 0.
- playToEnd — флаг, проигрывать до конца.
- disableOnStart — флаг, стартовать в выключенном состоянии и ждать
action/enableсо значением1. По умолчанию модуль активен сразу.
События
| Топик | Payload | Описание |
|---|---|---|
player_<slot>/event/endOfTrack | целое | Номер трека, воспроизведение которого завершилось |
player_<slot>/event/enable | 0 / 1 | Активен 1 или спит 0 |
Пример: топик moduleBox/player_0/event/endOfTrack, payload 2.
Команды
| Топик | Payload | Описание |
|---|---|---|
player_<slot>/action/play | целое, +N / -N, random или # | Проиграть трек: номер, приращение +N / -N, random или # — текущий |
player_<slot>/action/stop | — | Остановить воспроизведение |
player_<slot>/action/shift | целое, +N / -N или random | Сдвинуть указатель трека без запуска воспроизведения |
player_<slot>/action/setVolume | 0–100 | Установить громкость |
player_<slot>/action/enable | 0 / 1 | Включить (1) или выключить (0) модуль |
Пример: топик moduleBox/player_0/action/play, payload +1.
Примеры
[SLOT_0]
;модуль в режиме проигрывателя
mode = mp3Player
;громкость 95%, задержка перед стартом полсекунды
options = volume:95, playDelay:500
;по завершении любого трека проиграть следующий
crosslink = player_0/event/endOfTrack:#->player_0/action/play:+1Спецсимволы # и @ описаны на странице
crossLink.
[SLOT_0]
mode = mp3Player
options = volume:80, playToEnd, attenuation:1500
[SLOT_1]
mode = button_led
;нажатие запускает случайный трек, длинное нажатие останавливает
crosslink = button_1/event/press:1->player_0/action/play:random, button_1/event/longPress:1->player_0/action/stop:1Подробнее — внутренние связи (crossLink).
Архив
Описание модуля для прошивок до перехода на конституцию — mp3Player (архив).