Mostrando las entradas con la etiqueta jython. Mostrar todas las entradas
Mostrando las entradas con la etiqueta jython. Mostrar todas las entradas

Player de musica en jython (Java)

| 0 comentarios

Usando algunas distribuciones Linux (OpenSUSE, Ubuntu, Kubuntu, Mandriva) me he dado cuenta lo tedioso pero no imposible que resulta ser el instalar el soporte Mp3 (donde hasta ahora lo veo fácil es con Kubuntu con Amarok, pues basta con un clic) esto es bien conocido debido a la restricción de libre distribución para decodificador del MP#.

Ahora bien, estoy haciendo un pequeño programilla en jython que se encargue de obtener el stream de audio, decodificarlo y tratarlo para poder así reproducirlo. La idea no es nueva, para ello voy a usar unas librerías ya hechas para decodificar el stream de audio, me comentan que use las librerías MPSPI) (basado en Jlayer y Tritonus) y Jython pues la API Javasound no ofrece soporte para Mp3[1].
Hay que copiar la librería mp3spi1.9.4.jar al directorio del JRE específicamente /lib/ext/ y las librerías jl1.0.jar mp3spi1.9.4.jar y tritonus_share.jar en /lib


$ sudo cp mp3spi1.9.4.jar /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/ext
$ sudo cp tritonus_share.jar /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/
$ sudo cp jl1.0.jar /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/
$ sudo cp mp3spi1.9.4.jar /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/

hay que buscar el archivo registry en el directorio de instalación de jython para cambiarle la siguiente linea de un valor true a false

Setting this to false will allow Jython to provide access to
# non-public fields, methods, and constructors of Java objects.
python.security.respectJavaAccessibility = false

Para compilar los archivos .py usar dentro del directorio del Jython:

java -jar jython.jar /directorio/script.py


El código que estoy desarrollando lo obtuve de la web.[1][Resultado]

A la fecha tengo el siguiente error al momento de seleccionar el archivo a reproducir

Exception in thread "AWT-EventQueue-0" Traceback (innermost last):
File "/archivo/jyMusica.py", line 77, in accionMenu
NameError: pad


Necesito capturar/depurar las excepciones...

fuentes:
[1] http://www.onjava.com/pub/a/onjava/2004/08/11/javasound-mp3.html
[2] http://www.javazoom.net/mp3spi/mp3spi.html

Jython

| 0 comentarios

Jython es un lenguaje de programación de alto nivel, dinámico y orientado a objetos basado en Python e implementado en Java (100%), su antecesor fue JPython

Para que instalar jython:
java -jar jython_installer-2.2rc3.jar
Dentro del directorio donde se instalo jython se puede realizar una prueba un hola mundo usando el interprete interactivo(salir del interprete con ctrl+c):

$ java -jar jython.jar
Jython 2.2rc3 on java1.6.0
Type "copyright", "credits" or "license" for more information.
>>> print "Hola jython"
Hola jython


o también puedes programas en python desde cualquier directorio

$ python
Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=8
>>> b=7;
>>> print a,b
8 7


También hay plugins para Netbeans que proporcionan el soporte para Jython como ejemplo Coyote

Lo interesante es lo fácil que resulta crear una aplicación[Example] con unas cuantas lineas, lo que yo le veo de desventaja es la lentitud frente al Java tradicional, pero en fin que por variedades que no pare la cosa. Resultado del código Aquí