2013年5月27日 星期一

在GNU/Linux系統上SUN JAVA6 JDK的音訊無法正確送pulseaudio的解法

最近有參與Cadencii的改良,意外中發現這問題,原因是java6仍然設定只送訊號給alsa,而pulseaudio模擬alsa的行為還不夠完美吧...所以一般的java程式當前在linux下發不出聲音,除非額外使用openAL的,例如說遊戲當個創世神(Minecraft)

請先裝好openjdk,然後把openjdk的這兩個檔案複製到sunjdk的相對目錄下(以下為一行指令): sudo cp /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libpulse-java.so /usr/lib/jvm/java-6-sun/jre/lib/amd64/libpulse-java.so;sudo cp /usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/pulse-java.jar

參考此篇

至於這個能不能提Ubuntu等distribution的bug呢?不行,因為Sun-jdk不是自由軟體,所以除非Oracle自己去改,不然,我們只能使用者群自己做這個ugly修改。


沒有留言:

張貼留言