J'ai remarqué la même chose. Je vérifie juste Sun Java avant d'essayer de changer le gain. Suce, mais d'un autre côté, l'audio d'OpenJDK fonctionne beaucoup mieux que celle de Sun pour mes besoins.
EDIT: puisque d'autres trouveront cette réponse par des recherches sur le web, je vais ajouter un peu. Dans certains cas, PulseAudioMixer d'OpenJDK ne semble pas adhérer à JSAPI. Par exemple, il insiste pour que vous arrêtiez() une ligne avant flush(). JSAPI dit spécifiquement qu'il est légal de tirer la chasse avant de s'arrêter. Ou dans le cas que vous mentionnez, l'implémentation audio par impulsions prétend prendre en charge le gain lorsque vous appelez isControlSupported, mais lance quand même une exception. Ce sont deux raisons pour lesquelles le code JavaZoom ne fonctionnera pas dans OpenJDK. Il y en a d'autres. Dans certains cas PulseAudioMixer n'est pas à blâmer, il prend juste une route différente dans des cas non définis (par exemple, que se passe-t-il si vous appelez write() sur une ligne qui n'est pas ouverte ?!). Je suis en train de faire du code que j'ai écrit plus robuste donc il fonctionnera sur OpenJDK.
MISE À JOUR: J'ai signalé cela comme un bug à IcedTea et ils ont corrigé le problème. Je n'ai pas testé le correctif. Alors maintenant, le gain soutenu prédicat devrait, espérons-le, retourner la réponse honnête. –