«Master Gain не поддерживается» в OpenJDK - PullRequest
2 голосов
/ 16 декабря 2009

У нас проблемы с воспроизведением аудиофайлов с использованием библиотек JavaZoom на OpenJDK в Linux, хотя он отлично работает на Sun JDK. Есть ли обходной путь для этого исключения "Master Gain not Поддерживается"?

Мохсен

Ответы [ 3 ]

3 голосов
/ 25 января 2010

Я заметил то же самое. Я просто проверяю Sun Java, прежде чем пытаться изменить усиление. Отстой, но, с другой стороны, звук OpenJDK работает намного лучше, чем у Sun для моих нужд.

РЕДАКТИРОВАТЬ: так как другие найдут этот ответ через поиск в Интернете, я собираюсь добавить немного. PulseAudioMixer от OpenJDK в некоторых случаях не соответствует JSAPI. Например, он настаивает на том, чтобы вы остановили () строку перед ее очисткой (). JSAPI, однако, в частности, говорит, что законно промывать перед остановкой. Или в случае, который вы упомянули, реализация импульсного аудио утверждает, что поддерживает усиление при вызове isControlSupported, но затем выдает исключение в любом случае. Это две причины, по которым код JavaZoom не будет работать в OpenJDK. Есть и другие. В некоторых случаях PulseAudioMixer не виноват, он просто использует другой маршрут в неопределенных случаях (например, что произойдет, если вы вызовете write () для строки, которая не открыта ?!). Я нахожусь в процессе создания некоторого кода, который я написал более надежным, чтобы он работал на OpenJDK.

1 голос
/ 21 апреля 2010

Есть исправление против libbasicplayer-java (применяется для 3.0-4):

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567856

Однако OpenJDK все еще глючит с поддержкой усиления:

https://bugs.launchpad.net/zekr/+bug/622663

0 голосов
/ 10 марта 2010

На этой странице: https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/491784/ есть патч в конце, и он работает для меня сейчас. Патч состоит из try & catch. Извините, я больше не могу найти, где автор javazoom разместил источник в Интернете. Свяжитесь со мной, если они вам нужны.

...