Использую Orange PI PC c armbian, есть потребность проигрывать несколько аудио mp3 файлов одновременно и управлять уровнем звука и тд.
Управление плеерами происходит через FIFO команды. https://github.com/georgi/mpg123/blob/master/doc/README.remote
При старте системы запускаются сервисы для двух плееров.
========= music_1.service [Unit] After=sound.target After=network.target After=network-online.target After=sys-devices-platform-soc-soc:audio-bcm2835_alsa-sound-card0.device After=alsa-restore.service Description=Boot Sound
[Service] User=xd Restart=always RestartSec=30 Type=simple ExecStart=/home/xd/run_mpg_1.sh
[Install] WantedBy=multi-user.target
======== run_mpg_1.sh
#!/bin/sh
mpg123 -R –fifo /home/xd/dev/music_1
Для второго плеера по аналогии. Все хорошо если использовать только один из плееров, при загрузки фала во второй ничего не происходит, файл не воспроизводится, а в процессах висят управляющие команды. В документациях и в интернетах все описано для одного процесса, но хочется больше. Ранее использовал omxplayer но решил уйти с него, не везде он ставится и вообще он деприкейтед. Если не получится с mpg123, буду ковырять vlc.
PS. Дело было в кривом конфиге alsa Тут все по полочкам: