Добавление звука в openwrt
Dec. 31st, 2013 04:05 amДля добавления звука надо выполнить следующий скрипт
#!/bin/ash
opkg update
opkg install kmod-sound-core kmod-usb-audio
# install speaker-test
opkg install alsa-utils-tests
#установка приложений:
#alsamixer псевдографический регулятор громкости
#amixer регулятор громкости из командной строки
#aplay проигрывание файла
#arecord звукозапись
#alsactl сохранение/восстановление настроек звука
#mocp псевдографический музыкальный проигрыватель
opkg install alsa-utils
#консольный проигрыватель
opkg install moc
#невидемый проигрыватель
opkg install mpd-full
#управление невидимым проигрывателем
opkg install mpc
#настройка mpd
if ! cat /etc/mpd.conf | grep "#music_directory" > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* music_directory already configure *'
echo '***************************************************'
exit 1
fi
sed -ir\
's:[#]music_directory.\t+".+"$:music_directory\t\t\t"\/root\/music":' /etc/mpd.conf
mkdir /root/music
if ! cat /etc/mpd.conf | grep "#playlist_directory" > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* playlist_directory already configure *'
echo '***************************************************'
exit 1
fi
sed -ir\
's:[#]playlist_directory.\t+".+"$:playlist_directory\t\t"\/root\/.mpd\/playlists":' /etc/mpd.conf
mkdir /root/.mpd
mkdir /root/.mpd/playlists
if ! cat /etc/mpd.conf | grep "#db_file" > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* db_file already configure *'
echo '***************************************************'
exit 1
fi
sed -ir\
's:[#]db_file.\t+".+"$:db_file\t\t"\/root\/.mpd\/database":' /etc/mpd.conf
if ! cat /etc/mpd.conf | grep -qE '.*[#]+.*name.*"My OSS Device"' > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* oss device already configure *'
echo '***************************************************'
exit 1
fi
sed -ir '/[#]audio_output[ ]*[{]/ b reading
b
:reading
N
/.*[#][}]/ b exit_r
b reading
:exit_r
/^[ \t]*[#]+[ \t]*audio_output[ \t]*[{][ \t]*\
[ \t]*[#]+[ \t]*type[ \t]+["]oss["][ \t]*\
[ \t]*[#]+[ \t]*name[ \t]+["]My OSS Device["][ \t]*\
[ \t]*[#]+[ \t]*device[ \t]+["][/]dev[/]dsp["][ \t]*([#]+.*)*\
[ \t]*[#]+[ \t]*format[ \t]+["]44100:16:2["][ \t]*([#]+.*)*\
.*/ b readed_good
b
:readed_good
s/^[ \t]*[#]+([ \t]*audio_output[ \t]*[{][ \t]*)\
[ \t]*[#]+([ \t]*type[ \t]+["]oss["][ \t]*)\
[ \t]*[#]+([ \t]*name[ \t]+["]My OSS Device["][ \t]*)\
[ \t]*[#]+([ \t]*device[ \t]+["][/]dev[/]dsp["][ \t]*([#]+.*)*)\
[ \t]*[#]+([ \t]*format[ \t]+["]44100:16:2["][ \t]*([#]+.*)*)\
([ \t]*[#]+[ \t]*mixer_type.*)\
[ \t]*[#]+[ \t]*[}]/\1\n\2\n\3\n\4\n\6\n\8\n}/' /etc/mpd.conf
ln -s /etc/init.d/mpd /etc/rc.d/S93mpd
mpd
mpd управляется командами:
добавление файла/потока для проигрывания: mpc add <что проигрывать>
удаление файла/потока от проигрывания: mpc del <номер>
старт проигрывания: mpc play <номер>
останов проигрывания: mpc stop
узнать что сейчас проигрывает: mpc current
записать список проигрывания: mpc save <имя файла>
загрузить список проигрывания mpc load <имя файла>
справка: mpc help
Только mpd на ед-mr3020 не умеет проигрывать интернет-радио, которое получено изменением расширения flv на mp3, как я писал раньше.
Он пытается их проиграть, но быстродействия не хватает.