Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Le son avec JAVA et ALSA

1 réponse
Avatar
Alain
Bonjour,

Mes applications utilisant java ne peuvent reproduire le son.
Le phénomène est constaté sur deux machines linux différentes, disposant de
cartes son différentes.
Le seul point commun entre ces deux machines est ALSA et JDK-1.5

J'ai téléchargé le programme de test proposé par SUN et cela
ne fonctionne pas non plus.

J'ai trouvé ce programme de test ici :


http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo/

Il y a quatre tests proposés sur cette mini application.
Les tests Groove Box et Midi Synthetiseur fonctionnent correctement.

Le test Capture fonctionne, on voit apparaitre la forme de l'onde dans la
fenêtre.
Le test Playback semble fonctionner, on voit le curseur avancer le long de
la forme d'onde, mais cela ne produit aucun son !


Les 5 test JukeBox ne produisent aucun son !
Des messages d'erreurs sont émis et ces messages varient selon le format du
fichier audio selectionné.

1) Lecture du fichier welcome.wav :
Affiche le message d'erreur suivant, le compteur se met à tourner, pas de
son.
java.lang.IllegalArgumentException: Unsupported control type: Pan
at
com.sun.media.sound.AbstractLine.getControl(AbstractLine.java:147)
at Juke.setPan(Juke.java:435)
at Juke.playSound(Juke.java:302)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)

2) Lecture du fichier sfx-medley.rmf :
Affiche le message d'erreur suivant, le compteur ne tourne pas, pas de
son.
Exception in thread "Juke" java.lang.NullPointerException
at Juke.setGain(Juke.java:464)
at Juke.playSound(Juke.java:301)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)

3) Lecture du fichier 22-new.aif :
Pas de message d'erreur, le compteur tourne, pas de son.

4) Lecture du fichier trippygaia1.mid
Affiche le message d'erreur suivant, pas de compteur, pas de son.
Exception in thread "Juke" java.lang.NullPointerException
at Juke.setGain(Juke.java:464)
at Juke.playSound(Juke.java:301)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)

5) Lecture du fichier spacemusic.au :
Affiche les messages d'erreur suivants, le compteur tourne, pas de son.
java.lang.IllegalArgumentException: Unsupported control type: Pan
at
com.sun.media.sound.AbstractLine.getControl(AbstractLine.java:147)
at Juke.setPan(Juke.java:435)
at Juke.playSound(Juke.java:302)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)
java.lang.IllegalArgumentException: Unsupported control type: Pan
at
com.sun.media.sound.AbstractLine.getControl(AbstractLine.java:147)
at Juke.setPan(Juke.java:435)
at Juke.playSound(Juke.java:302)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)
Exception in thread "Juke" java.lang.NullPointerException
at Juke.setGain(Juke.java:464)
at Juke.playSound(Juke.java:301)
at Juke.run(Juke.java:410)
at java.lang.Thread.run(Thread.java:595)


Mes recherche sur google semblent indiquer que le problème est apparu à
partir du JDK-1.5
Merci de m'avoir lu jusqu'ici.

Alain

1 réponse

Avatar
tatane
Bonjour,

J'ai eu des problèmes sous GNU/linux et l'audio à une époque. J'avais pas
d'audio avec java pourtant avec les applications natives de mon système le
son était bien audible. En documentation, j'avais rien trouvé comme
solution sur le net. J'ai cherché et cherché, et j'ai trouvé!
Java semble utiliser Oss et pas Alsa, donc j'ai activé tout simplement
l'émulation Oss avec Alsa. Et comme par miracle j'ai eu le son :)

J'espère que c'est la solution de ton problème.
(j'ai répondu sur fr.comp.lang.java)

Stéphane