Internet Radio
De Open movilforum wiki
También conocido como Versificator, dispositivo inventado en la famosa novela 1984, de George Orwell, para mantener a las masas contentas:
Versificator - A writing machine. A mechanical device that produces "literature" and "music" (i.e., tabloid newspapers - sport, crime and astrology, sensational nickel novelettes, films oozing sex, and sentimental songs) for the proles. Invented so that a party member would not be forced to cloud their mind with such frivolous concepts.
Reproductor de audio para teléfonos móviles que permite el acceso a diferentes servicios de radio por Internet y a informaciones acerca de la música que se está reproduciendo.
La idea es hacer que la aplicación sea flexible, de manera que se puedan desarrollar extensiones que permitan añadir fácilmente nuevas funcionalidades.
De momento estamos trabajando en los plugins siguientes:
- Reproducción de archivos de música disponibles en la memoria del teléfono (RAM o tarjeta)
- Reproducción de podcasts en streaming o tras almacenarlos en la memoria del teléfono.
- Reproducción de cadenas de radio tipo SHOUTcast: posibilidad de recibir un streaming de audio en formato SOUTcast, la posibilidad de gestionar emisoras favoritas, compartirlas con amigos, etc.
- Reproducción de radios Last.fm: gestionará las credenciales de acceso del usuario para conectarse a la emisora personal y a la de otros usuarios, buscar emisoras a través de los tags, etc.
En definitiva, se trata de un framework que implementa las funcionalidades principales de la aplicación y ofrece un conjunto de APIs para el desarrollo de extensiones.
[editar] Arquitectura de la aplicación
El código fuente de la aplicación está dividido en los módulos siguientes:
- PluginDefinition: definición de las interfaces del objeto ECOM que deberán implementar los plugins instalados en la aplicación.
- Versificator: aplicación principal, que incluye la implementación del plugin básico para la ejecución de ficheros en local.
- PodcastPlugin: implementación del plugin para la recepción de podcasts en streaming.
- SyExpat: port a Symbian del parser XML Expat (http://www.toddsoftware.com/)
- XmlEngine: wrapper sobre SyExpat, para simplificar la lectura de ficheros XML.
- HttpEngine: contiene algunas utilidades para simplificar la descarga de ficheros por HTTP. Las conexiones HTTP necesarias para el streaming de audio no están incluidas en esta librería, ya que requieren comunicación a más bajo nivel.
La arquitectura de la aplicación está descrita con más detalle en ArquitecturaInternetRadio.
El código fuente del proyecto está alojado en Google Code: http://code.google.com/p/inetradio/
[editar] Primeros pantallazos
Aunque la aplicación todavía está en desarrollo, ya tenemos algunas capturas de pantalla del aspecto que tiene cada plugin. En estos momentos estamos trabajando en el interfaz gráfico, por lo que el aspecto puede cambiar en próximas versiones.
Aspecto que tiene el plugin de reproducción de ficheros en local (File player):
El plugin para reproducción de podcasts nos deja elegir entre los diferentes items publicados en el podcast y al seleccionar uno de ellos escuchamos la emisión y visualizamos la información textual que pueda tener:
El plugin de reproducción de radios de tipo SHOUTcast muestra la información acerca de la canción que se está escuchando (recibida en el stream SHOUTcast) y va a buscar información adicional (letras, carátula, etc) a un servicio Web (experimental):
El plugin Last.fm permite conectarse a la emisora Lastt.fm personalizada para el usuario:
[editar] Snapshots
Está disponible una primera versión de la aplicación en fase "alfa": http://code.google.com/p/inetradio/downloads/list. Esta versión es compatible con los siguientes móviles: Nokia N70, Nokia N72 y Nokia N90.
Antes de entrar en fase Beta, quedan por resolver los temas siguientes:
General:
* Gestionar correctamente las excepciones. * Detener el plugin si está en reproducción y se decide cambiar de plugin. * Añadir iconos y textos informativos al ticker inferior. * Repasar posibles memory leaks al salir de la aplicación.
Podcast:
* Añadir funcionalidad a la lista de feeds. * Añadir movimiento (ticker) a la cabecera del rss y al item seleccionado (en caso que el texto sea demasiado largo). * Implementar la funcionalidad de la opción de menú "Stop". * BUG: una vez se ha suscrito a un podcast, si se vuelve a suscribir a otro, salta una excepción.
Shoutcast:
* Añadir el nombre del servidor de shoutcast en la pantalla principal. * Añadir nombre del autor y título de la canción en el ticker inferior. * BUG: una vez se ha abierto una url, si se vuelve a abrir otra, da una excepción.





