CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 16 Jul 2020 05:02

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 85 mensajes ]  Ir a página 1, 2, 3, 4, 5, 6  Siguiente
Autor Mensaje
NotaPublicado: 30 Nov 2010 11:02 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
A ver... que esto es de locos... :lol:

Como ya he comentado alguna vez con el kit del jugador en Ubuntu, no se oyen los oggs... pero se oyen los midis. Esta afirmación tiene que descartar un problema de paths o de localización de los ficheros, porque ambos, midis y oggs, están en la misma carpeta.

Me he dado cuenta que desde el kit del desarrollador Aetheria no lanza ningún mensaje de error, pero que desde el kit del jugador Aetheria me lanza el siguiente mensaje al parecer, cada vez que se intenta reproducir un ogg.

Spoiler: Mostrar
Llamando a la Java (tm) Virtual Machine para ejecutar Aetheria...
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1170)
at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream(Unknown Source)
at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream(Unknown Source)
at javazoom.jlgui.basicplayer.BasicPlayer.open(Unknown Source)
at eu.irreality.age.AGESoundClient.audioStartUnpreloaded(AGESoundClient.java:317)
at eu.irreality.age.AGESoundClient.audioStart(AGESoundClient.java:400)
at eu.irreality.age.AGESoundClient.audioStart(AGESoundClient.java:417)
at eu.irreality.age.AGESoundClient.audioStart(AGESoundClient.java:412)
at eu.irreality.age.Mobile.playAudioIfAvailable(Mobile.java:6923)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bsh.Reflect.invokeMethod(Unknown Source)
at bsh.Reflect.invokeObjectMethod(Unknown Source)
at bsh.BSHPrimarySuffix.doName(Unknown Source)
at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BshMethod.invokeImpl(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bsh.Name.invokeLocalMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at eu.irreality.age.ObjectCode.run(ObjectCode.java:197)
at eu.irreality.age.Room.execCode(Room.java:1214)
at eu.irreality.age.Room.constructRoom(Room.java:545)
at eu.irreality.age.Room.<init>(Room.java:82)
at eu.irreality.age.World.loadWorldFromXML(World.java:841)
at eu.irreality.age.World.loadWorldFromStream(World.java:1416)
at eu.irreality.age.World.<init>(World.java:1502)
at eu.irreality.age.filemanagement.WorldLoader.loadWorldFromPath(WorldLoader.java:35)
at eu.irreality.age.filemanagement.WorldLoader.loadWorld(WorldLoader.java:150)
at eu.irreality.age.SwingAetheriaGameLoader$LoaderThread.run(SwingAetheriaGameLoader.java:618)


Desde el kit del programador Aetheria reproduce sin problema los oggs, pero en cambio, salvo en la primera sesión de juego, en el resto se niega a reproducir los archivos midi y no muestra ningún mensaje de error. Cuando cierro el aetheria, entonces se escucha una especie de "chin pon" final mezcla creo yo de todos los midis que debería haber tocado.

Desde el kit del programador y recuperando partida, Aetheria reproduce los archivos midis sin problema, siempre y cuando antes no suene un archivo ogg.

Ya sé que el AL-K* no está muy ducho en multimedia, pero apunto todo esto aquí por si alguien imagina qué es lo que puede estar pasando.
El sistema de sonido es Pulseaudio, en Alsa funciona bien aunque entonces no permite que otra aplicación haga uso del canal de sonido mientras éste está siendo usado por Aetheria.

La pregunta es ¿qué diferencia encuentra Pulseaudio entre el Aetheria de Puck, y el independiente para que en uno no suenen los oggs, y en el otro no suenen los midis?

Saludos
Jenesis

Editado para cambiar "mods", por "oggs" :oops:

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Última edición por jenesis el 30 Nov 2010 11:38, editado 1 vez en total

Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 11:14 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Es curioso, porque esa excepción como indica el nombre debería corresponder a un formato de audio que no está soportado. Cosa que claramente no es el caso, porque ejecutándolo con PUCK suena, así qeu sí que está soportado.

Esto me ha hecho pensar por un momento: "¡Ya lo tengo! Debe de ser que en el script Aetheria.sh me he olvidado de poner en el classpath la librería de ogg, mientras que en el puck.sh no". Pero no... he mirado y, salvo que haya un error tipográfico que pasa desapercibido a mis ojos, esas librerías están incluidas en los dos.

Así que imagino que tirará esa excepción porque el pulseaudio o quien sea por cualquier motivo no puede reproducir el sonido y la librería de audio se vuelve un poco loca y da ese mensaje que no corresponde mucho a lo que debería ser...

De todas formas, cuando tenga un rato a la hora de comer o así miraré la traza de la excepción a ver si puedo sacar algo en claro.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 11:40 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Bueno, donde puse "mods", quería poner "oggs".
De todos modos tengo que hacer la prueba con mp3, no sea que el problema esté en que esos "oggs" están convertidos desde mp3, claro que entonces no se oirían en ninguno de los dos Aetherias....

Otra cosa, el Aetheria del jugador lo probé con el sistema Ubuntu recien arrancado para evitar que el sonido fuera capturado y retenido por el de Puck, así que el error lo muestra sin nada que interfiera.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 12:25 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Sí, si tienes algún mp3 estaría bien hacer la prueba... si con los mp3 no hubiese problema y con los ogg sí, eso permitiría aislar un poco el problema.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 12:50 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Mirando en Google se dicen por ahí cosas sobre Java y PulseAudio... hay quien dice de ejecutar Java con un wrapper llamado padsp, por ejemplo: http://www.tuxyturvy.com/blog/index.php ... Audio.html

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 16:49 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
He probado con un mp3 y un wav, y el problema persiste, pero he descubierto algo nuevo.
Que toque los ogg, depende de la ubicación de la carpeta del juego, yo estoy trabajando en un directorio externo a AGE, si lo muevo a la carpeta "worlds" dentro de AGE, aetheria no encuentra los oggs, por eso toca los midis, porque no se reproducen los oggs.

Así que tenemos dos problemas, uno que el Aetheria no encuentra los oggs, cuando el directorio del juego esté en la carpeta "worlds" del kit, y el otro el de que no se pueda reproducir los midis, una vez se ha seguido la secuencia ogg mid ogg.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 16:51 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
¿Me puedes pegar el código que tienes para reproducir un midi y para reproducir un ogg?

A ver si así veo por qué encuentra los midi y no encuentra los ogg.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 17:15 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
¿Me puedes pegar el código que tienes para reproducir un midi y para reproducir un ogg?

A ver si así veo por qué encuentra los midi y no encuentra los ogg.



mobile("guerrero").playAudioIfAvailable(world.getWorldPath()+"multimedia/intro.mp3");
mobile("guerrero").playMidiIfAvailable(world.getWorldPath()+"multimedia/transicion.mid");

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 17:39 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Es raro rarísimo, porque he estado mirando y el método que estás usando de tocar ogg y el de tocar midi no hacen nada distinto para localizar el fichero. Hacen exactamente lo mismo que es simplemente tomar el path que les das tal cual. Y siempre podría ser que por algún bug world.getWorldPath() no funcionara bien, pero en ese caso tendría que funcionar mal tanto en un caso como en el otro, ya que es el mismo método y hace la misma cosa.

A ver si por la noche o mañana tengo algo de tiempo para probar y puedo reproducir el problema... porque supongo que un fallo tipográfico escribiendo los nombres de fichero o de directorio estará descartado, ¿no?

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 18:23 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
Al-Khwarizmi escribió:
Es curioso, porque esa excepción como indica el nombre debería corresponder a un formato de audio que no está soportado. Cosa que claramente no es el caso, porque ejecutándolo con PUCK suena, así qeu sí que está soportado.

Esto me ha hecho pensar por un momento: "¡Ya lo tengo! Debe de ser que en el script Aetheria.sh me he olvidado de poner en el classpath la librería de ogg, mientras que en el puck.sh no". Pero no... he mirado y, salvo que haya un error tipográfico que pasa desapercibido a mis ojos, esas librerías están incluidas en los dos.

Así que imagino que tirará esa excepción porque el pulseaudio o quien sea por cualquier motivo no puede reproducir el sonido y la librería de audio se vuelve un poco loca y da ese mensaje que no corresponde mucho a lo que debería ser...

De todas formas, cuando tenga un rato a la hora de comer o así miraré la traza de la excepción a ver si puedo sacar algo en claro.


A mí me pasó un problema con JavaMusix completamente esotérico, tal como describes. Pasa que es importante, por alguna razón, el orden en que se cargan las clases del ogg y del mp3 en los archivos de manifiesto (los que están dentro del directorio "META-INF/services"). Esos archivos sirven para indicar las clases que interactúan con el SPI que ocupa el jlguiplayer.

Como mi librería traía todo junto, yo tuve que "fusionar" varios de esos archivos en uno solo. Sucede que tuve que poner las lineas que se referían al ogg vorbis de las primeras, antes del mp3 (o tal vez era al final, no recuerdo bien) porque de otra manera el reader del mp3 trataba de leer los archivos ogg y claramente es un formato NO-SOPORTADO por mp3spi. En resumen, el orden de carga es importante. Al menos en esos archivos del manifiesto.

No sé como será en paquetes jar separados (porque yo meti todo en un solo jar, como recordarás), pero tal vez el orden también ser importante y en el classpath debas pasarle vorbisspi de los primeros (o de los últimos).

Prueba con eso.

Saludos! :mrgreen:

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 18:43 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Gracias por la información, Eliuk, suena a que igual lo de "unsupported format exception" viene de algo de eso...

Lo malo es que las pruebas las tendrá que hacer jenesis... no por no trabajar yo, sino porque en mi sistema ya va bien tal como está, así que no me voy a dar cuenta de cuál es el orden "correcto", si lo hay.

Tal vez una forma sencilla de hacer la prueba sea quitar lo de los formatos que no sean ogg del classpath y ver si así no falla con los ogg.

O sea, quitar: lib/jspeex0.9.7.jar y lib/mp3spi1.9.4.jar

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 19:15 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
porque supongo que un fallo tipográfico escribiendo los nombres de fichero o de directorio estará descartado, ¿no?


Sabes que soy muy despistada, pero en este caso puedo asegurar que no hay fallo tipográfico, he hecho un copy&paste en el post, así que no deja lugar a la duda.
Sé que es un problema con pulseaudio, porque con mi Xubuntu que usa alsa no me pasa, o al menos antes no pasaba. De todos modos lo comprobaré.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 19:19 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Bueno, pero como has dicho que parece que hay dos problemas... con PulseAudio sería uno, y el otro es ése de no encontrar los oggs cuando los metes en cierta carpeta... en ése es en el que sospechaba del fallo tipográfico, pero si me dices que no lo hay, te creo.

En mi máquina he probado a ejecutar el mundo desde el directorio "worlds" de AGE (de hecho hoy me acordé de que es desde donde lo había ejecutado ayer... es lo que hago siempre) y sí me encuentra los oggs, y en un directorio externo también, así que esto es otro misterio.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 19:32 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Mirando en Google se dicen por ahí cosas sobre Java y PulseAudio... hay quien dice de ejecutar Java con un wrapper llamado padsp, por ejemplo: http://www.tuxyturvy.com/blog/index.php ... Audio.html


This allows sound from Java applications to play simultaneously with all other PulseAudio capable applications, including current Flash plugins, and applications like VLC.

Pero ése no es el problema que me concierne ahora, yo puedo tener aetheria funcionando y si pongo youtube... el aetheria se calla inmediatamente y suena el youtube. Cuando en el Aetheria se inicia el siguiente ogg... entonces el que se calla es el youtube. :El pulseaudio no es sónido simultáneo, es sonido compartido, el último que pide se lo queda :lol: antes se lo quedaba de fijo el Aetheria, en fin que el sistema de sonido en ubuntu sigue siendo una kk.
¿Has probado mi aventura en Suse? Aunque si usa Alsa, no habrá problema.

Si dentro de Aetheria el sonido siguiera siendo compartido no habría problema, el ogg dejaría paso al midi y todo funcionaría bien. El problema es que al sonar un audio después de un midi, el programa pierde la capacidad de reproducir otro midi, lo que sea que se queda pillado no se libera hasta que se cierra el aetheria, y es entonces cuando se oye esa última nota del midi ¿pero qué es lo que ha impedido hasta entonces que el midi suene?
A saber...

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 30 Nov 2010 21:09 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Acabo de comprobar la aventura en mi portatil usando un pendrive, y tengo el mismo problema con los archivos de audio en "worlds", no suenan porque al parecer no los encuentra, sin embargo si encuentra los midis.
Ya sé que es raro pero es lo que ocurre.

El problema ogg mid ogg nomid, no se da ya que mi xubuntu no usa pulseaudio.

PD: Quería aclarar que los problemas con la localización de los archivos de audio estando la aventura en "worlds", sucede tanto en el aetheria de puck como en el del jugador.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Última edición por jenesis el 30 Nov 2010 23:32, editado 2 veces en total

Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 85 mensajes ]  Ir a página 1, 2, 3, 4, 5, 6  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM