«Основное усиление не поддерживается» в OpenJDK

StackOverflow https://stackoverflow.com/questions/1914216

  •  19-09-2019
  •  | 
  •  

Вопрос

У нас есть проблемы с воспроизведением аудиофайлов с использованием библиотек JavaZoom в OpenJDK в Linux, хотя в Sun JDK они отлично работают.Есть ли обходной путь для этот Исключение «Основное усиление не поддерживается»?

Мохсен

Это было полезно?

Решение

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

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

Другие советы

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

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

Однако в OpenJDK по-прежнему есть ошибки с поддержкой усиления:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top