2009-12-16 57 views
2

雖然在Sun JDK上完美運行,但在Linux上使用OpenJDK上的JavaZoom庫播放音頻文件時出現問題。 this'Master Gain not supported'異常是否有任何解決方法?OpenJDK中的'不支持主增益'

Mohsen

回答

3

我注意到了同樣的事情。在嘗試改變增益之前,我只是檢查Sun Java。糟透了,但在光明的一面,OpenJDK的音頻比我的需求表現要好得多。

編輯:因爲別人會通過網絡搜索找到這個答案,我會補充一點。在某些情況下,OpenJDK的PulseAudioMixer似乎不遵守JSAPI。例如,它堅持在flush()之前停止()一行。然而,JSAPI明確表示在停止前沖洗是合法的。或者在你提到的情況下,當您調用isControlSupported時,脈衝音頻實現聲稱支持增益,但隨後會拋出異常。這些是JavaZoom代碼在OpenJDK中無法使用的兩個原因。還有其他人。在某些情況下,PulseAudioMixer不是責任,它只是在未定義的情況下采用不同的路由(例如,如果在未打開的線路上調用write()會發生什麼情況?)。我正在編寫一些我寫得更強大的代碼,因此它將在OpenJDK上運行。

+0

UPDATE:我將這報告爲IcedTea的一個錯誤,他們解決了這個問題。我沒有測試修復。所以現在收益支持謂詞應該有希望返回誠實的答案。 – 2010-11-02 19:52:58