Probleme compatibilité windows/linux

Probleme compatibilité windows/linux - Java - Programmation

Marsh Posté le 17-05-2004 à 15:37:25    

Bonjour,  
J'ai un problème avec une appli, qui marche parfaitement sous windows mais pas sous linux, qui utilise javax.sound.sampled.
Le truc bizarre que le programme "JavaSoundDemo" du site de sun, (qui m'as servit pour comprendre le fonctionnement de cette classe) marche lui parfaitement.
La seul différence fondamentale que j'observe est que le prog de sun enregistre puis joue le playback l'un après l'autre , hors chez moi
(vu que c un log de discussion vocal) j'ai deux threads qui utilise simultanément la carte son (un qui ecoute le son du mic, l'autre qui joue les son recus) et a l'execution sous linux j'obtiens:
 
javax.sound.sampled.LineUnavailableException: Audio Device Unavailable
 
Pile au moment ou je parle (de l'autre coté, donc des qu'il doit commencer a jouer) alors que sous windows ca marche.
Donc je voudrais savoir si c'est bien de la que vient le problème, et si c'est normal et surtout si y as moyen de le résoudre.
Avez deja eu ce problème?  
 
la version du jdk est la meme sur les 2 machines(1.4.2).
Merci d'avance  :jap:  
 
ps: si vous voulez que je poste le code dite le, mais il est deja assez gros, et si je met juste la partie incriminé, il me semble que ca ressemblerait a rien, vu que c'est une inner class, qui utilise des donnés golable de sa classe mère.

Reply

Marsh Posté le 17-05-2004 à 15:37:25   

Reply

Marsh Posté le 17-05-2004 à 15:56:33    

même probleme ici, mais c'est compréhensible (chez moi du moins)
 
j'ai pas de mixer audio sur mon linux (cad pas d'esd, artsd, & co)

Reply

Marsh Posté le 17-05-2004 à 15:59:55    

moi si, le son est bien config, y avait artsd qui tournais mais je l'ai killer, esperant que ca marcherait avec /dev/dsp, mais tj le meme prob.

Reply

Marsh Posté le 19-05-2004 à 13:03:28    

ok j'ai trouvé, la réponse etait la: http://www.jsresources.org/faq_audio.html#linux_duplex
 
en clair j'ai installer alsa et mon prog a fonctionner naturellement, il semblerait que les autres modules ne supporte pas le full duplex.

Reply

Marsh Posté le 25-01-2010 à 18:43:48    

Et si j'utilise Alsa, mais que ça ne marche quand même pas ? (en fait, je crois que java ne veux pas utiliser java, mais je n'en suis pas bien sur).

Reply

Marsh Posté le 25-01-2010 à 20:42:14    

deadalnix a écrit :

Et si j'utilise Alsa, mais que ça ne marche quand même pas ? (en fait, je crois que java ne veux pas utiliser java, mais je n'en suis pas bien sur).


Près de 6 ans plus tard, déterrage de kalitaÿ
 
 [:implosion du tibia]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 26-01-2010 à 19:44:16    

Et c'est quand la date à partir de laquelle on ne plus poster dans un topic quand on a des choses à y ajouter ?

Reply

Marsh Posté le 27-01-2010 à 20:03:04    

deadalnix a écrit :

Et c'est quand la date à partir de laquelle on ne plus poster dans un topic quand on a des choses à y ajouter ?


Oh, y'a pas de limite à un bon déterrage de kalitaÿ. Tout dépend du vieillissement, si le topic a bonifié ou pas, des conditions de conservation, etc.
 
 [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 27-01-2010 à 20:28:52    

En tout cas,j'ai le solution :
 
renomer /usr/lib/jvm/java-6-sun-1.6.0.15/jre/bin/java en /usr/lib/jvm/java-6-sun-1.6.0.15/jre/bin/java.bin
 
Bien sur, faut adapter en fonction de ou est installé java. Un « ps aux | grep java » devrait en dire plus long si vous ne savez pas.
 
Il faut ensuite créer /usr/lib/jvm/java-6-sun-1.6.0.15/jre/bin/java avec ceci dedans :
 

Code :
  1. #!/bin/bash
  2. padsp /usr/lib/jvm/java-6-sun-1.6.0.15/jre/bin/java.bin $@


 
Cela fait passer le son de java par pulse audio, et ça résout le problème.
 
Sinon, je ne vois aps le problème à faire un déterrage en règles si on a quelque chose de plus à apporter au topic. Autant garder tout au même endroit. Quand à le faire remarquer sans rien apporter au topic . . .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed