8

Ejemplo Reproductor de Radio

Buenas … En estos días recibí un mail de Nelson donde que me pregunta “si es posible crear una especie de reproductor para reproducir una radio online”.

La respuesta es SI.

¿Como?

Tendremos que crear una pagina html donde incluiremos el reproductor de WMP y luego lo controlaremos a través de javascript.

Código para incluir WMP.

Luego creamos las funciones en JS para controlarlo.

function abrir(archivo){ MC1.filename=archivo;}
function play() {MC1.play();}
function subirv() {var volumen = MC1.Volumevar sube = volumen + 100;if(sube < 0) {MC1.Volume = sube;}} function bajarv() {var volumen = MC1.Volumevar baja = volumen - 100;if(baja >= -4002) {MC1.Volume = baja;}}
function mutev(muteval) {MC1.mute = muteval;}
function stop() {MC1.stop();}

Lo demás es fácil. Incrustamos el objeto navegador donde cargaremos el html. Creamos los botones y llamaremos a las funciones JS con el comando BrowserExecScript de neobook.

Les recomiendo que vean el codigo del ejemplo.

Captura

Descarga

Ejecutable y código fuente:

  ejRadio.rar (1,3 MiB, 2.408 hits)

 

4

Lista de reproducción y más…

Hoy voy a tratar de aclarar las dudas planteadas en el foro de Hispaneobook por EvilnesS en el post Mas dudas… .

La teoría:

Para poder hacer los botones de play, pause, stop , etc. recurrí a la función MCICommand comando_mci, la cúal nos permite manejar dispositivos multimedia de windows.

.//Algunos ejemplos
MCICommand "play c:\mi_tema.mp3"
MCICommand "pause c:\mi_tema.mp3"
MCICommand "stop c:\mi_tema.mp3"

Hasta acá todo ok…la cosa se complico al momento de pasarle la canción como variable. Si el botón play tenia en sus acciones MCICommand play [variable] me daba un error de MCI. Lo cual lo resolví haciendo uso del Plug-in NeoDouble (DEC) con la función npEjecutarAccion accion_de_neobook lo cual me permitió hacer lo siguiente:

SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
NpEjecutarAccion "[accion]"

Mas información sobre comandos MCI acá.

El tema de la lista de reproducción:

Tenemos que mostrar el cuadro de dialogo Abrir (FileOpenBox). Si el usuario elige sólo 1 archivo lo agregamos al listbox (ListBoxAddItem), si fueran varios tendremos que separar (StrParse) los archivos elegidos y mediante un loop agregarlos uno a uno al listbox. Luego podes mover(ListBoxMoveItem) los temas para acomodarlos en el orden deseado. Luego podrías agregar una función para guardar la lista lo que le permitirá al usuario hacer distintas listas de reproducción. En el .pub incluido esta todo comentado. Espero sirva de ayuda.

La practica (el ejemplo) :

Screnshoot de lista de reproducción
screenshot del ejemplo

Plug-ins utilizados:
– NeoDouble (DEC) disponible en downloads.

NOTA: El ejemplo sólo es para explicar la implementación de una lista de reproducción en neobook, no es un reproductor, por lo cual no contiene funciones avanzadas para comprobar el tiempo transcurrido, el estado (listo,reproduciendo), etc.

  lista_rep.rar (2,2 MiB, 2.246 hits)