Radio online

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Radio online

Mensaje por Jonny »

Hola

Estoy trasteando un poco con autoit (un sábado de esos que uno se aburre) jeje.

Me ha dado por hacer un pequeño experimento, que si surgiera, podría acabar siendo un pequeño programilla de los tantos que corren or ahí. Se trata de escuchar la radio a través de internet con un programa hecho con Autoit. He estado mirando el foro inglés, pero no parece haber mucha cosa y lo poco que hay ... Dos programas que descargué me dieron errores así, que decidí ponerme y hacer algo por mi cuenta.

Se me ocurrió algo aparentemente sencillo. Ya se, que habrán dll´s por ahí para lo que quiero hacer (los muchos programas que circulan por la red las usan de echo) pero aún no me puse a investigar eso. De momento, lo que se me ocurrió fue usar la librería Ie.au3, para llamando a la función _Iecreate() escuchar la emisora de radio que se le pase como página web. Por ejemplo googleando encontré esta:
http://www.cadenaser.com/player_radio.html
¿Si se la pasáramos a _IeCreate() se escucharía?
Si abrimos esta página, sin hacer absolutamente nada se empieza a oir la cadena ser.
¿Que os parece?

Salu2!
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Efectivamente, como me temía, el llamar a la función _IeCreate() pasándole la url de una emisora funciona. Con la url que puse en el post anterior hice este pequeño programilla, que nos permite escuchar ... en este momento el carrusel de la ser jejeje.

Código: Seleccionar todo


#Include <Ie.au3>

HotkeySet("{esc}", "Esc")

$IeObj=_IeCreate("http://www.cadenaser.com/player_radio.html", 0, 0)

_IELoadWait($IeObj)

While 1

Sleep(0)

Wend

Func Esc()

Exit

EndFunc

 
Pues eso. Como veis, si lo ejecutamos se oye la ser y pulsando escape se cierra el programa.
Ahora falta buscar más emisoras, con sus correspondientes links de emisión online y bueno, hacer un programa de los de verdad jejeje, con su GUI y tal.
De todas formas, si alguien sabe de alguna dll para hacerlo, sería mejor, pues podrían hacerse cosas que usando Ie.au3 no pueden, como por ejemplo controlar el volumen (sí, puede hacerse con la función para ajustar el volumen del sistema) pero afectaría al volumen de todo el equipo y lo suyo sería ajustar únicamente el de la aplicación. También podría hacerse como en algunos programas, que se grabaran fragmentos de la emisora seleccionada ... infinidad de cosas.

Una curiosidad. En el foro Inglés, creo haber visto un pequeño programa que hacía algo similar a lo que he hecho yo, pero usando las funciones de Sound.au3.
¿Puede hacerse que esa librería manipule el sonido de páginas web?

Salu2!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Radio online

Mensaje por Ximorro »

Lo del volumen del sistema o de la aplicación leí que era un problema porque XPy Vista lo manejan de forma muy diferente.

Si llegando al enlace ya toca la radio está muy bien, porque no tienes que mostrar la web en sí, y puedes hacer un menú en AutoIT que toque varias radios de forma transparente. Como son cosas separadas primero haz la base (que se puedan seleccionar varias emisoras) y luego ya puedes estudiar los añadidos, como lo del volumen o lo de guardar lo que se oye.

Pues nada, buena suerte con el programa ya nos irán contando los progresos.

¡Una cosa! Ese Sleep(0) está comiéndose la CPU, te recomiendo subirlo a Sleep(100) o más, porque entiendo que aunque esté en pausa la radio sigue sonando ¿no? (no puedo saberlo que ahora no tengo altavoces)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Radio online

Mensaje por Ximorro »

Para lo del volumen igual funciona el comando Send, se pueden enviar los comandos {VOLUME_DOWN} y {VOLUME_UP} (o silenciar con {VOLUME_MUTE}. En la ayuda pone que es para XP y 2000, por otro lado leí que en Vista siempre toquiteas el volumen del sistema...

En XP/2000 se supone que envía la orden a la aplicación activa, que tendrá que ser tu programa autoIt, espero que el hecho de que el sonido lo esté tocando a través de un IECreate no afecte, pero desgraciadamente es una posibilidad si en realidad lo que hace es abrir otra aplicación en background... la cosa es probarlo, ya nos dirás.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Si, tenía pensado (iba ha haberlo hecho este fin de semana) una pequeña interface en la que por ejemplo mediante un combobox se pudiera seleccionar la emisora que se quisiera y al cambiarla en el control, automáticamente se reprodujera. Pero voy a tener que esperar, hasta encontrar las páginas de las distintas emisoras, donde retransmitan online. Por el momento encontré la que hay en el ejemplo y la de Cadena 100, pero me gustaría almenos, poner todas las emisoras de españa (más adelante incluir otros paises, eso sería lo de menos en cuanto al código). Pero no he encontrado nada así fiable. Solo la web http://www.radioes.net, donde salen todas las emisoras de españa e incluso pueden oirse. pero no se por qué, no me funciona bien.
Al probar con una, cuando intento oir las demás emisoras se me abre el reproductor de Windows Media y siempre suena la misma...
El reproducir la emisora a través del reproductor me parece buena idea a medias, porque podría controlar el volumen de la emisora sin afectar al resto del sistema pero no quisiera que se viera el reproductor jejeje
Intenté ocultarlo con algo como esto:

Código: Seleccionar todo


Global $ReproductorOculto=0

While 1

Sleep(100)

If WinExists("Reproductor de Windows Media") Then

If $ReproductorOculto==0 Then

$ReproductorOculto=1

WinSetState("Reproductor de Windows Media", "", @SW_HIDE)

EndIf

EndIf

Wend

 
Pero no lo oculta cuando aparece al pinchar en un enlace para oir la emisora que sea. demás, no se si quedaría bien estéticamente, porque no se si llegaría a verse aunque fueran milésimas de segundo (no quedaría nada bien).

¿Sugerencias?

¿Sabeis alguna página para escuchar la radio online (sin que salte el reproductor)?

dices enviar las teclas ¿A que programa?
¿Al internet explorer?
Si la página donde se reproduce la emisora que sea tubiera botones o parecido para controlar el volumen sí podría hacerse, incluso con las funciones Ie para cliquear enlaces etc, también.
Salu2!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Radio online

Mensaje por Ximorro »

Hum, prueba a quitar el control de $ReproductorOculto, es buena idea pero a lo mejor es que la ocultas en el momento que existe y luego él solito se vuelve a hacer visible.
Si lo haces invisible continuamente es un poco bestia pero es para probar si se está auto-reactivando.
O quizás no se puede ocultar esa ventana, si es necesario el reproductor de Windows (que coincido contigo en que sería mejor que no se utilizara) al menos podrías minimizarlo.

Lo del volumen en principio prueba con tu propio programa, pero por ejemplo si está saliendo el sonido a través del reproductor de windows pues va a ser que el volumen habrá que controlarlo desde ahí...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Tiene que ser lo que dices. Con el código que puse, la ventana se oculta al existir (Quizá no da tiempo ni a que se vea) y como dices, se reactiva. Porque si pruebo a ocultarla sin bucle ni nada, solo con un script que contenga:
WinSetState("Reproductor de Windows Media", "",@SW_HIDE)
y lo ejecuto una vez el reproductor está abierto, la ventana se oculta sin problema pero no se por qué, con ese código no funciona
Así pues, será mejor olvidarse del reproductor, porque eso de que se vea y desaparezca no me convence

He descargado el programa de live-player, que permite ver la tele y oir emisoras de radio. He estado mirando y tiene un par de dll´s, de las que he estado mirando sus funciones, pero no me ha parecido que tengan que ver con nada de emisoras de radio jejeje.
De todas formas, no puedo asegurarlo, símplemente me lo pareció por los nombres de las funciones y ponerme a tocar eso, me da muuuucha pereza, pues no creo siquiera que haya documentación de las dll...

Salu2!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Radio online

Mensaje por Chefito »

Nas.
Bueno, ya veo que es hora de echaros una manita :smt016 :smt003 .
Yo para estas cosas en vb6 utilizaba el control Windows Media Player de win (yo y muchos).
Solo teneis que coger una dirección de radio válida y listo.
Como siempre esta librería tiene un montón de propiedades, métodos y eventos. Investigar y encontrareís :smt003 .
Os voy a poner un pequeñiiiitoooo ejemplo de algo muy simple:

Código: Seleccionar todo

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("Kickradio", 220, 120, 192, 114)

$slider1 = GUICtrlCreateSlider(10, 10, 200, 20)

GUICtrlSetData($slider1, 50)

$Button_2 = GUICtrlCreateButton("Desconectar Radio", 50, 80)

$Button_1 = GUICtrlCreateButton("Conectar Radio", 60, 50)

$Obj1 = ObjCreate("WMPlayer.OCX.7")

;$Obj1 = ObjCreate("WMPlayer.OCX")

$Obj1.settings.volume=50

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

        Case $GUI_EVENT_CLOSE

            Exit

        Case $slider1

            $volumen=GUICtrlRead($slider1)

            $Obj1.settings.volume=$volumen

        Case $Button_1

            $Obj1.url="http://www.kickradio.nl/tunein/WindowsMediaRadioTuner/KickRadio80s90sWithHTMLView.asx"

        Case $Button_2

            $Obj1.controls.stop

    EndSwitch

WEnd

 
Mirar en el foro de habla inglesa que seguro que encontrais algo.
Si dudais en algo preguntad.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Ajá, no conocía ese control. habrá que ver las posibilidades que ofrece, pero parece estar bien ¿No?
Los scripts que ví en el foro inglés sobre radio online no los usaban. Quizá buscando el control seguro que hay cosas.
Gracias,

Salu2!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Radio online

Mensaje por Ximorro »

Vaya vaya vaya. Al final resulta que está todo inventado :smt005
Esto vuelve a mostrar que para darle caña a AutoIT, saber AutoIt es sólo la mitad, la otra mitad es saber Windows.
En un lenguaje tan integrado con Windows es lo que toca, el problema es cómo se te ocurren estas cosas si no sabes ni que existen...

Pues hala Jonny, queremos ver ese programa terminado, ahora no tienes excusa ;-)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Efectivamente.
Hace mucho tiempo pensaba que saber programar era, conocer muy a fondo el lenguaje que tocabas. Poco a poco, he aprendido que no solo es eso, sinó efectivamente, conocer el SO, casi mejor que los desarrolladores. Pero ¿Como saber tantas cosas que hacen falta para hacer más de una cosa?
¿Habrá que tragarse la sdk de Windows? no se si estoy preparado jeje.

No, ya no tengo escusa. Habrá que ponerse el mono y a currar. En cuanto que tenga algo potable (seguro que mejorable) os lo enseño.

Salu2!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Radio online

Mensaje por Chefito »

Chicos....la esperiencia es la madre de la ciencia :smt003 . Y yo tengo algo en programación :smt024 .
Hay muchas cosas que puede que no sepais (y que yo no sepa), pero para eso está el foro.
Por mi parte, siempre que vea que lo estais pasando un poco canutas con algún tema y sepa como solucionarlo, ahí estaré. No lo se todo ni mucho menos, pero me defiendo bastante bien en muchos temas....ya lo sabeis :smt023 .
Venga.......a darle a la radio!!!. Jejejeje....y que sepais que podeis utilizar todas las funcionalidades del WMP....oir música, ver video, etc etc etc. Yo no lo he mostrado (ya que no queríais), pero si os interesa podeis hacer visible el control. Hay muchas posibilidades. Ni os lo imaginais :smt002 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Puf, tiene que ser MUCHA la experiencia que haga falta para saber tantísimo jejejeje.
Que eres un máquina con la programación creo que está claro, todabía (y mira que se me han ocurrido cosas retorcidas) no has dejado un post sin resolver.

Salu2!
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Pues nada. Me he puesto con el programitta, pero sigo con el lío de encontrar páginas para escuchar las emisoras.
En el ejemplo de Chefito sale esta:
http://www.kickradio.nl/tunein/WindowsM ... MLView.asx
¿Esta emisora cual es, la lleva el Reproductor de Windows Media?.
Supongo que podré pasarle al reproductor cualquier página ¿verdad, dará igual que sea una página donde se escuche directamente la emisora, o tiene que ser de las que abren el reproductor?.

Bueno, bueno, por ahora ya está, que me lanzo y no me acuerdo de parar, jajajaja.

Salu2!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Radio online

Mensaje por Ximorro »

Bueno, dependerá de cómo toquen el sonido. En principio siempre debería poderse tocar desde el navegador, pues él ya lo envía a los plug-in o programas que necesite.

En ese caso concreto del asx, no es estrictamente necesario el navegador, pues eso del ASX es un protocolo de streaming de audio de Microsoft, es decir, para tocar sonido de internet sin tener que descargar archivos enteros, va tocando según va llegando (tipo los videos del youtube). Como el MediaPlayer puede conectarse a eso directamente ahí no haría falta el navegador.

Pero si quieres hacer algo general tendrás que usar el navegador (a través de IE.au3, o directamente creando un objeto Shell.Explorer.2), para que funcione con los diferentes tipos de streamer que haya, no sólo el de Microsoft...

Supongo que se podrá ocultar la página pero que sí suene, quizás dejando el control que tiene la página oculto, o con un tamaño de un píxel, o detrás de otro control...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Radio online

Mensaje por Chefito »

Yo no lo no hubiese explicado mejor que Ximorro :smt023 .
Decir que el protocolo asx es el que utilizan casi todas las radios online, y este protocolo es compatible con el programa wmp...por tanto con el control también.
Yo puse este control porque Jonny dijo que prefería un control o librería en vez de tener que estar luchando con las páginas web.
Se podría insertar en el script un navegador IE que cargarse las páginas de las radios. Incluso se podría hacer una página propia insertando tu los controles necesarios para oir las radios, incluso intentar acceder a sus propiedades, metodos, etc. Pero pienso que esto es un trabajo de chinos :smt024 (por lo menos por mi parte creo que sería mi última opción....a no ser que fuese estrictamente necesario).
También puedes poner las dos opciones, acceder por web y por control.

Hay muchas listas de direcciones de radios online. Te pongo unos ejemplos:
http://www.windowsmedia.com/radioui/hom ... ture=es-mx
http://www.taringa.net/posts/links/2111 ... inamp.html
http://www.radioasturias.com/tecnica.asp
http://www.viper-moh.com.ar/2007/12/dir ... -para.html

Es cuestión de buscar :smt024 .
Para ver las direcciones de las radios, hay varias posibilidades. Por ejemplo, cuando se te ha cargado la radio en el programa wmp pincha con el botón derecho del ratón en el nombre de la radio (sale en la lista de reproducción). Dale a propiedades y ahí te sale la dirección a la cual debes acceder (ubicación).
Otra sería, encima del objeto de la página web (el pequeño wmp), dale con el botón derecho del ratón y propiedades.
A veces aparece en el código html de la página.
Etc.

Por ejemplo, con la segunda forma que te he dicho, he sabido que la dirección de la cadena de radio que has puesto (cadena ser) es esta: http://www.cadenaser.com/comunes/player ... FCvDodAtGq

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Hummm...
Algo más que aprendí. No conocía lo del protocolo asx. La verdad, es que la opción del reproductor no me gustaba si tenía que tratarlo directamente (como una ventana) pero así como lo hizo Chefito me convence más. sobre todo porque parece que hay más control y de una forma mucho más sencilla que haciéndolo vía web. Buscaré como me dijo Chefito a ver que más emisoras encuentro.
Primero haré esto (algo un poco básico) pero para ir abriendo boca (y saber lo que me espera) ¿conoceis alguna dll que capture el sonido del reproductor en este caso?. Porque capturar el sonido del pc en general no creo que fuera una buena idea para grabar la emisora que se está escuchando, pues se grabarían quizá cosas externas a la radio...
Quizá me llevo una grata sorpresa y hasta hay algún control del reproductor que lo hace...

Salu2!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Radio online

Mensaje por Chefito »

Mira esta librería y este comando de consola (lame), seguro que te interesa.

De aquí te la bajas:
http://www.rarewares.org/mp3-lame-bundle.php
Aquí el proyecto (código fuente, ayuda, etc):
http://lame.sourceforge.net/
Y aquí te bajas el código y la ayuda donde están sus funciones:
http://sourceforge.net/projects/lame/files/lame/
Bajate la versión 3.98.2.

Con esta librería se han hecho muchos programas. Es gratuíta y muy buena. La llevan haciendo mucho tiempo.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Radio online

Mensaje por Jonny »

Hola

Conocía la dll de este proyecto, tengo Lame_enc.dll, sabía que era para convertir de wav a mp3 por ejemplo, pero no que capturara el sonido del reproductor. Pensaba buscar algo por el foro inglés sobre esa dll (por si conseguía grabar el sonido en wav) pero miraré las páginas que dices a ver que tal.
Gracias,

Salu2!
Responder