2009-12-16 4 views
2

Sun JDK에서 완벽하게 작동하지만 Linux의 OpenJDK에서 JavaZoom의 라이브러리를 사용하여 오디오 파일을 재생하는 데 문제가 있습니다. this '마스터 이득이 지원되지 않음'예외에 대한 해결 방법이 있습니까?OpenJDK의 'Master Gain not supported'

모센

답변

3

나는 똑같은 것을 알아 챘다. 나는 이득을 바꾸기 전에 Sun Java를 확인한다. 끔찍하지만 OpenJDK의 오디오 성능은 Sun의 요구보다 훨씬 뛰어납니다.

편집 : 다른 사람들이 웹 검색을 통해이 답변을 찾을 수 있기 때문에 조금 추가하겠습니다. OpenJDK의 PulseAudioMixer는 경우에 따라 JSAPI를 따르지 않는 것으로 보입니다. 예를 들어, flush()하기 전에 줄을 중지()한다고 주장합니다. 그러나 JSAPI에서는 중단하기 전에 플러시하는 것이 합법적이라고 말합니다. 또는 펄스 오디오 구현은 isControlSupported를 호출 할 때 이득을 지원한다고 주장하지만 어쨌든 예외를 throw합니다. JavaZoom 코드가 OpenJDK에서 작동하지 않는 두 가지 이유가 있습니다. 다른 것들도 있습니다. PulseAudioMixer가 비난받지 않는 경우가 있는데, 정의되지 않은 경우에는 다른 경로를 사용합니다 (예 : 열려 있지 않은 행에서 write()를 호출하면 어떻게됩니까?). 좀 더 강력하게 작성한 코드를 OpenJDK에서 실행하는 중입니다.

+0

UPDATE : 나는 이것을 IcedTea에 버그로보고했고 그들은이 문제를 해결했다. 나는 그 시험을 시험하지 않았다. 그래서 이득 지원 술어는 솔직히 정직한 대답을 돌려 주어야합니다. –

0

페이지에서 : https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/491784/ 끝에 패치가 있으며 지금은 저에게 적합합니다. 패치는 try & catch로 구성됩니다. 죄송합니다, javazoom의 제작자가 소스를 온라인에 저장 한 곳을 더 이상 찾을 수 없습니다. 필요할 경우 저에게 연락하십시오. (3.0-4 적용) libbasicplayer - 자바에 대한 패치가