24.09.2013, 13:59 | #11 |
Junior Member
Регистрация: 13.07.2013
Сообщений: 9
Вес репутации: 0 |
Мой вариант. Управляем кнопкой WPS на маршрутизаторе TP-Link MR3020: нажатие длительностью 3-8 сек - запук воспроизведения, 9-14 сек - остановка, до 1 сек - последовательный перебор радиостанций по плейлисту.
Для этого создаем папку: /etc/radiotuner А в ней файлы с правами 755: playlist.m3u - плейлист радиостанций radio-load.sh - запуск фоногового воспроизведения потока radio-start.sh - выбор первой радиостанции из плейлиста, или последующей при изменении параметра radio-stop.sh - полное прекращение воспроизведения radio-next-station.sh - прекращение воспроизведения теуещей радиостанции и выбор последующей по плейлисту radio-start.sh: Код:
#!/bin/sh #http://lexxai.blogspot.com want=$1 pl=/etc/radiotuner/playlist.m3u while true; do cat "$pl" | \ while read url; do \ curr=$url if [ $(echo "$url" | grep -E -v "^#") ]; then name=$(echo "$before"|awk -F , '/^#EXTINF/ {print ($2)}') if [ -z $want ] || [ ! -z $(echo "$name" |grep -oi -e "$want") ] ; then echo "play: $name" |logger -t 'online-radio' wget -c -q -O - $url 2>/dev/null| madplay -q - fi fi before=$curr done done Код:
#!/bin/sh killall wget Код:
#!/bin/sh killall radio-start.sh killall wget Код:
#!/bin/sh /usr/radiotuner/radio-start.sh $1 & Код:
#EXTM3U #EXTINF:0,"eradio.com.ua: E-radio" http://62.149.13.129:8500/eradio_hi #EXTINF:0,"eradio.com.ua: E-radio rock" http://etoradio.cc.colocall.com:8500/e-rock_hi #EXTINF:0,"MFM" http://urg.adamant.net:8080/online128 #EXTINF:0,"uh-radio" http://online.uhradio.com.ua:8001/efir #EXTINF:0,"Radio 24" http://stream1.lux.fm:9010 #EXTINF:0,"Radio Rocks" http://online.radioroks.com.ua:8000/RadioROKS #EXTINF:0,"DJFM" http://media.brg.ua:8010/;stream.nsv #EXTINF:0,"PerecFM" http://radio.stilnoe.fm:8080/radio-stilnoe #EXTINF:0,"Sharmanka" http://217.20.164.163:8006/; Устанавливаем: #opkg update #opkg install madplay Для управления плеером клавишей WPS создаем файл: /etc/hotplug.d/button/00-button: Код:
. /etc/functions.sh do_button () { local button local action local handler local min local max config_get button $1 button config_get action $1 action config_get handler $1 handler config_get min $1 min config_get max $1 max [ "$ACTION" = "$action" -a "$BUTTON" = "$button" -a -n "$handler" ] && { [ -z "$min" -o -z "$max" ] && eval $handler [ -n "$min" -a -n "$max" ] && { [ $min -le $SEEN -a $max -ge $SEEN ] && eval $handler } } } config_load system config_foreach do_button button Дополняем файл /etc/config/system: Код:
config button option button 'wps' option action 'released' option handler '/etc/radiotuner/radio-next-station.sh' option min '0' option max '1' config button option button 'wps' option action 'released' option handler '/etc/radiotuner/radio-load.sh' option min '3' option max '8' config button option button 'wps' option action 'released' option handler '/etc/radiotuner/radio-stop.sh' option min '9' option max '14' config button option button 'wps' option action 'released' option handler 'poweroff' option min '19' option max '50' Процесс переключения радиостанций смотрим командой: #logread -f Все мной с небольшими правками (не работало на MR3020) взято на http://www.lexxai.pp.ua/2012/08/open...net-radio.html. За что автору большое спасибо! |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|