![]() |
|
|
#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) | |
|
|