2/9/15

"Radio" - Script para escuchar la radio online.

He creado este pequeño script, como siempre, usando Zenity como interfaz y Mplayer como reproductor (aunque podremos poner otro que se nos ocurra). Las URLs de streaming las he buscado en la red, son las principales radios españolas y alguna que otra emisora on-line.
Dicho esto tendremos instalar dichas dependencias, de lo contrario abrimos nuestro terminar y ejecutaremos la siguiente orden:
sudo pacman -S zenity mlpayer
Copiaremos el script en un archivo de texto con Leafpad, Mousepad o similar:
#!/bin/bash
# Radio 0.2
# Autor: Esteban C. Sanz
# Dependencias: zenity, mplayer

PLAYER=$(which mplayer 2>/dev/null)

function play()
{
clear
echo -e "\n\tPara volver al menu principal, pulse ENTER\n\n"; 
sleep 2 && "$PLAYER" 2>/dev/null "$1"
}

while : ; do
RADIO=$(zenity --list \
--title="Radio 0.1" \
--column="Emisoras" --width=300 --height=400 \
"Los 40 principales" \
"M80" \
"Cadena SER" \
"Cadena Dial" \
"Europa FM" \
"Hit FM" \
"Máxima FM" \
"Loca FM" \
"IbizaPartyRadio" \
"Ibiza Sonica Radio" \
"Formula Hit" \
"&Radio" \
"FrenchKissFM" \
"Indie Pop Rocks!" \
"FM Absolute 70's Pop" \
"FM Absolute 90's" \
"FM Absolute Pop Latino" \
"FM Absolute Samba" \
)

if [ $? -eq 0 ]; then
case $RADIO in 

"Los 40 principales")     play "http://10883.live.streamtheworld.com:3690/LOS40AAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
"M80")                    play "http://13413.live.streamtheworld.com:80/M80RADIOAAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
"Cadena SER")             play "http://194.169.201.177:8085/liveser.mp3";;
"Cadena Dial")            play "http://5293.live.streamtheworld.com:80/CADENADIALAAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
"Europa FM")        play "http://stream.irratia.net:8000/;";;
"Hit FM")            play "http://hitfm.es.audio1.glb.ipercast.net:8000/hitfm.es/mp3";;
"Máxima FM")              play "http://10913.live.streamtheworld.com:80/MAXIMAFM_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
"Loca FM")                play "http://audio-online.net:23500/";;
"IbizaPartyRadio")        play "http://listen.radionomy.com/ibiza-party-radio";;
"Ibiza Sonica Radio")   play "http://www.ibizasonica.com/html5player/balanceador/sonica.php?file=listen.mp3";;
"Formula Hit")            play "http://server1.emitironline.com:9400/formulahit";;
"&Radio")                 play "http://107.181.225.210:8000/iradio";;
"FrenchKissFM")           play "http://stream.frenchkissfm.com:80";;
"Indie Pop Rocks!")       play "http://xstream1.somafm.com:8090";;
"FM Absolute 70's Pop")   play "http://sc-70s-128kmp3.1.fm";;
"FM Absolute 90's")       play "http://sc-90s-128kmp3.1.fm";;
"FM Absolute Pop Latino") play "http://185.33.22.13:10060";;
"FM Absolute Samba")      play "http://185.33.22.21:10020";;

esac
else
if [ -z $RADIO ]; then
break
fi    
fi
done
Hasta aquí la versión 0.2.
He actualizado el script añadiendo nuevas funciones y emisoras. La nueva versión comprueba las dependencias faltantes y las instala en caso de no tenerlas.
#!/bin/bash
#Radio 0.3
#-----------------------------------------------------------------------
dependencias=(zenity mplayer xdotool)
for item in ${dependencias[*]}
do
    if ! (pacman -Q $item >/dev/null); then lista=$lista" "$item; fi
done
USUARIO=`whoami`; if [ -n "$lista" ]; then echo $USUARIO | sudo -S pacman -S $lista --noconfirm; fi
#-----------------------------------------------------------------------
# Comprobamos conexión cada 5 segundos.
until ping -c1 google.com &>/dev/null
do
  echo "No hay conexión. Reintentando..."; sleep 5
done
#-----------------------------------------------------------------------
function centrar()
{
  w=$(stty size | cut -d" " -f2)       # Ancho del terminal
  l=${#1}                              # Longitud del texto
  printf "%"$((l+(w-l)/2))"s\n" "$1"   # Imprime cadena con el ancho adecuado (%Ws)
}
#-----------------------------------------------------------------------
function play(){
lxterminal -e reset; echo; centrar "$emisora - Para volver al menu principal, pulse ENTER"; echo 
  sleep 2; xdotool windowminimize $(xdotool getactivewindow) # Minimizamos ventana
  "$(which mplayer 2>/dev/null)" 2>/dev/null "$1"
}
#-----------------------------------------------------------------------
reset
while : 
do
  emisora=$(zenity --list \
  --title="Radio 0.3" \
  --window-icon=$(dirname $0)/icono.png \
  --column="Emisoras" \
  --width=300 \
  --height=400 \
  "Los 40 principales" \
  "M80" \
  "RockFM" \
  "Europa FM" \
  "RNE" \
  "Radio 3 RNE" \
  "Radio 5 RNE" \
  "Radio Clásica RNE" \
  "Cadena 100" \
  "Cadena Dial" \
  "Cadena SER" \
  "Onda Cero" \
  "Cadena COPE" \
  "Máxima FM" \
  "Hit FM" \
  "Loca FM" \
  "Canal Sur Radio" \
  "Canal Fiesta Radio" \
  "Radiolé" \
  "IbizaPartyRadio" \
  "Ibiza Sonica Radio" \
  "Formula Hit" \
  "&Radio" \
  "FrenchKissFM" \
  "Indie Pop Rocks!" \
  "FM Absolute 70's Pop" \
  "FM Absolute 90's" \
  "FM Absolute Pop Latino" \
  "FM Absolute Samba" \
  )
  if [ $? -eq 0 ]
  then
    case $emisora in 
      "Los 40 principales") play "http://10883.live.streamtheworld.com:3690/LOS40AAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
      "M80")   play "http://13413.live.streamtheworld.com:80/M80RADIO_SC";;
      "RockFM")   play "http://195.10.2.97/cope/rockfm.mp3?GKID=204d1d9ed95711e5a5e600163ea2c744&fspref=aHR0cDovL3d3dy55b3VybXV6ZS5mbS9zdGF0aW9uL3JvY2stZm0tZXNwYSVDMyVCMWEtMg%3D%3D";;
      "Europa FM")  play "http://stream.irratia.net:8000/;";;
      "RNE")   play "http://195.55.74.205/rtve/radio1.mp3?GKID=579a4c1ed95b11e5a9f500163e914f69";;
      "Radio 3 RNE")  play "http://195.55.74.208/rtve/radio3.mp3?GKID=8e10a39cd95b11e5a5e600163ea2c744";;
      "Radio 5 RNE")  play "http://195.55.74.208/rtve/radio5.mp3";;
      "Radio Clásica RNE") play "http://195.55.74.205/rtve/radioclasica.mp3?GKID=c042b29cd95b11e5a9f500163e914f69";;
      "Cadena 100")  play "http://195.55.74.209/cope/cadena100-low.mp3?GKID=cad2ca84608a11e5a33700163e914f69";;
      "Cadena Dial")  play "http://5293.live.streamtheworld.com:80/CADENADIALAAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
      "Cadena SER")  play "http://194.169.201.177:8085/liveser.mp3";;
      "Onda Cero")  play "http://ns2.streaming-live.es:8005/live";;
      "Cadena COPE")  play "http://195.10.2.95/copesedes/madrid.mp3";;
      "Máxima FM")  play "http://10913.live.streamtheworld.com:80/MAXIMAFM_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
      "Hit FM")   play "http://hitfm.es.audio1.glb.ipercast.net:8000/hitfm.es/mp3";;
      "Loca FM")  play "http://audio-online.net:23500/";;
      "Canal Sur Radio") play "http://195.55.74.212/rtva/canalsurradio_master.mp3?GKID=02dba63460a011e5bb2000163ea2c744";;
      "Canal Fiesta Radio") play "http://195.10.10.222/rtva/canalfiestaradio_master.mp3?GKID=a59517f8609f11e5bb2000163ea2c744";;
      "Radiolé")  play "http://10913.live.streamtheworld.com:3690/RADIOLEAAC_SC?DIST=TuneIn&TGT=TuneIn&gender=f";;
      "IbizaPartyRadio") play "http://listen.radionomy.com/ibiza-party-radio";;
      "Ibiza Sonica Radio") play "http://www.ibizasonica.com/html5player/balanceador/sonica.php?file=listen.mp3";;
      "Formula Hit")  play "http://server1.emitironline.com:9400/formulahit";;
      "&Radio")   play "";;
      "FrenchKissFM")  play "http://stream.frenchkissfm.com:80";;
      "Indie Pop Rocks!") play "";;
      "FM Absolute 70's Pop") play "http://sc-70s-128kmp3.1.fm";;
      "FM Absolute 90's") play "http://sc-90s-128kmp3.1.fm";;
      "FM Absolute Pop Latino") play "http://185.33.22.13:10060";;
      "FM Absolute Samba") play "http://185.33.22.21:10020";;
    esac
  else
    if [ -z $emisora ]
    then
      break
    fi    
  fi
done
Luego lo guardamos como radio.sh y le damos permisos de ejecución con:
chmod +x /ruta del archivo/raido.sh
y listo! ya podremos disfrutar de la música o vuestro programa favorito.
La lista de las puede ampliarse con vuestra colaboración!
Pondré las URLs de streaming que reciba para implementarlas en el script e ir así ampliándolo.
Una vez más, espero que os sirva!
Hasta el próximo post!

0 comentarios:

Publicar un comentario