'Master Gain não suportado' em OpenJDK
Pergunta
Temos problemas para jogar arquivos de áudio usando bibliotecas de JavaZoom no OpenJDK em Linux, embora ele funciona perfeitamente em Sun JDK. Existe alguma solução para este 'Master Gain não suportado' exceção?
Mohsen
Solução
Eu notei a mesma coisa. Eu só verificar Sun Java antes de tentar alterar o ganho. Suga, mas o lado bom de áudio do OpenJDK é um desempenho muito melhor do que a Sun é para as minhas necessidades.
EDIT: uma vez que os outros vão achar essa resposta através de pesquisas na web, eu estou indo para adicionar um pouco. não PulseAudioMixer do OpenJDK não parecem aderir ao JSAPI em alguns casos. Por exemplo, ele insiste que você parar () uma linha antes flush () ing-lo. JSAPI no entanto especificamente diz que é legal para nivelada antes de parar. Ou, no caso que você menciona, o pulso de áudio implementação reivindicações para obter apoio quando você chamar isControlSupported, mas, em seguida, lança uma exceção de qualquer maneira. Essas são duas razões JavaZoom código não funcionará no OpenJDK. Há outros. Em alguns casos PulseAudioMixer não é a culpa, ele só tem um caminho diferente em casos indefinidos (por exemplo, o que acontece se você chamar write () em uma linha que não está aberto ?!). Eu estou no processo de fazer algum código que eu escrevi mais robusto para que ele será executado em OpenJDK.
Outras dicas
Há um remendo contra libbasicplayer-Java (aplicada para 3,0-4):
http://bugs.debian.org/cgi-bin /bugreport.cgi?bug=567856
No entanto, OpenJDK ainda é buggy com o seu apoio ganho:
Nessa página: https: // bugs. launchpad.net/ubuntu/+source/openjdk-6/+bug/491784/ existe um patch no final, e ele funciona para mim agora. O patch consistir apenas de tentativa e captura. Desculpe, não consigo encontrar mais onde o autor de javazoom colocar a fonte on-line. Contacte-me se você precisar deles.