Andrés Villagrán Placencia Flex / AS3 / Papervision3D / PHP / Rails Developer

25May/080

Flex Media Player r3

He subido el código y el instalador de Flex Media Player revisión 3, recordar que no es versión final es solo para prueba, para descargarlo ir a la página del proyecto:

http://code.google.com/p/flexmediaplayer/

FlexMediaPlayer-r3

Novedades:

  • Shuffle!! (Por ahora obligatorio, pronto opcional)
  • Cover Display con Reflejos!

Hacer doble click para escuchar, si se pone play sin seleccionar una canción se caerá, necesitas Adobe AIR para ejecutar el instalador.
Nota: Si utilizas Windows Vista debes ejecutarlo como Administrador, en la proxima versión no ocurrirá esto.

11May/080

Avances FlexMediaPlayer : r2

He trabajado en FlexMediaPlayer bastante durante el día, ahora ya tengo listo el menejo de la base de datos de medios, la lectura de tags (mp3 en este caso) y la reproducción de audio (Doble click y reproduce la canción seleccionada), Feedback gráfico del avance de la reproducción, y la gestión de menus y modulos basados en configuraciones XML como nombre anteriormente, se ve algo así:FlexMediaPlayer r2La aplicación no la subiré como instalador para AIR hasta que porlomenos tenga las funciones básicas, pero si quieren revisarlo (y ejecutarlo obviamente) deben descargarlo desde el SVN (pueden importarlo a Flex Builder 3 sin problemas):

svn checkout http://flexmediaplayer.googlecode.com/svn/trunk/

flexmediaplayer-read-onlyEspero que sea de su agrado, ojalá que más gente se anime a desarrollar en este reproductor 😀
Visiten la web de este para mayor información:
http://code.google.com/p/flexmediaplayer/

Escuchando: Ayeron - Age of Shadows powered by FlexMediaPlayer

2May/088

Alternativa 3D / FlexMediaPlayer / Y el futuro de flash

Por casualidad encontre un engine 3D para Flash, se ve realmente prometedor, ya tiene 2 ejemplos que dejan claro la potencia de Alternativa 3D
Click para ver Ejemplo 1  Click para ver segundo ejemplo
Click en alguna imagen para ver los ejemplos.

Realmente es impresionante, más aun ahora que Adobe ha liberado las especificaciones de SWF 9 y FLV 4 con su Open Screen Proyect.
Volviendo a FlexMediaPlayer, estoy desarrollando la base de datos para guardar la información de los medios y sus clases "genéricas" que permitirán la conexión (a travez de toda la aplicación), como primer plugin tengo pensado desarrollar algo con Last.FM para ver artistas parecidos, enviar últimas canciones escuchadas, y todas las muchas otras opciones que da el API de Last.FM (AudioScrobbler). 

29Apr/084

Avances FlexMediaPlayer

Ayer, conversando con el profesor Pedro Campos en la Universidad del Bío Bío, le explicaba mis ideas en relación a la modularidad que explicaba en el post anterior, en ese entonces tenía pensado que FlexMediaPlayer encontrara automaticamente los modulos y los agregue al menu principal (lo cual, ya hacía en ese entonces), pero el problema era el como le daba información especial, por lo cual él me sugirió utilizar configuraciones XML para registrar información, y como Flex maneja facilmente un XML salió bastante rapido esta "Feature", es más menos algo así:

private function FindPreferencesMenus():XMLList {

var preferencesPath:String = "modules/preferences/";

var directory:File = File.applicationDirectory.resolvePath(preferencesPath);

var contents:Array = directory.getDirectoryListing();

var fileStream:FileStream = new FileStream();

var file:File;

var xml:String;

var configXML:XML;

xml = "<menus>";

for (var i:uint = 0; i < contents.length; i++)

{

if(contents[i].isDirectory) {

fileStream.open(File.applicationDirectory.resolvePath( preferencesPath+

contents[i].name+

"/config.xml" ), FileMode.READ);

configXML = new XML(fileStream.readUTFBytes(fileStream.bytesAvailable));

xml += "<menu label=\""+configXML.MenuLabel[0]+"\" action=\""+

configXML.url[0]+"\" />";

}

}

xml += "</menus>";

 

return new XMLList(xml);

}

Con esto lee la información que esta en un config.xml y agrega los campos al menu principal (que es un Tree):

<config>

<url>modules/preferences/Player/Player.swf</url>

<MenuLabel>Player Preferences</MenuLabel>

</config>

Todo el código estará disponible en pocos días 😀

28Apr/083

( Flex / MonoPlayer ) = FlexMediaPlayer

Hace algún tiempo me dediqué a programar un reproductor de música, siempre he tenido ese bichito que me dice "haz algo con medios" así que en 2 o 3 días, ya no recuerdo bien,  hice este programa, en C# con Mono y como engine Gstreamer#, lamentablemente como Gstreamer# está incompleto fue dificultosa la programación con el, desde ahí que lo tengo tirado, seguramente mucha gente cree que Banshee utiliza el susodicho Gstreamer#, pero no, es un motor pequeño escrito en C que permite la interconección entre Banshee y Gstreamer, lo que realemente no era muy comodo, por lo cual decidi seguir los caminos de la almohadilla (#),  mi programa (MonoPlayer) reproduce audio, maneja una base de datos de canciones, lee tags del MP3 (Incluso muestra el Cover embebido de este), pero no me da grandes oportunidades seguir trabajando en este por lo anteriormente nombrado.

Desde el verano he estado trabajando mucho con Flex, y desde fines de Marzo con AIR (Días después de haber sido portado a Linux, lo que lo hace completamente multiplataforma, Linux, Mac y Windows) el cual permite utilizar esta grandiosa tecnología de forma StandAlone y además incluye clases para trabajar con bases de datos, archivos, etc.
La idea me estaba dando vueltas hace varios días, pero todo se concretó ayer donde comence a trabajar en las clases base, el reproductor, interfaz gráfica, gestión de base de datos, etc.
La gran idea de este nuevo proyecto es que sea fácil y rápido desarrollar nuevos modulos, interfaces gráficas, plugins, etc. a mi parecer es bastante dificil en otros reproductores existentes ya que hay que leer mucho código y sinceramente es bastante engorroso intentar realizar algo nuevo, en cambio con flex podemos realizar un modulo fácilmente, y como permite conectarse directamente a la Aplicación podemos accesar a objetos que controlan el reproductor (como ejemplo, se pueden hacer muchas cosas más).
Otra gran utilidad que tiene Flex es el manejo de Medios ya que trae clases que permiten reproducir video, audio y muchos codecs de estos.
Por ahora solo he creado el proyecto en Google Code  el cual pueden revisar en http://code.google.com/p/flexmediaplayer/
A continuación tienen un pantallazo del avance:FlexMediaPlayer Screenshot 28-Abril-2008
Que hace:

  • Reproduce MP3
  • Lee Tags Básicos del MP3
  • Controles del reproductor básicos funcionando

Cuando tenga más tiempo para trabajar en este hago un update en el proyecto en Google Code, obviamente liberado bajo GPLv2