ジャンル不定の日記です。

Javaアプリで音が出なくなったが・・・

先日Arch LinuxのWineのバージョンが上がってwineがlib32なしで32bitのWindowsアプリが動くようになった。
これでwineのインストールが気軽に行えるようになったね。

使用中のシステムもlib32を全部消そうとしたんだが、
AURで入れてるBrotherのプリンタドライバがlib32-glibcを必要としててそれだけ消せなかった。
lib32-glibcは静的リンクにできないか?とは思うがlib32-glibcだけ入ってる状態。

消えたlib32はgstreamer系がほとんどな感じだった。

wineは相場の取引ツールがJavaなんだがインストーラーがJavaじゃない関係でwineで入れてからjavaコマンドで使ってて、
毎週のアップデート時もJavaからWindowsインストーラーが起動する感じになるんでwineが必要なんだが、
lib32消してもwineで起動して問題ない感じだったんだが、Javaで起動中に音が出なくなってることに気づいた。

問題はlib32のgstreamer系を消したことで発生した感じで、
javax.sound.sampled.LineUnavailableException
音出す時にこんなエラーが出てた。

エラーでググってみたら、OSSエミュレーションを有効にしたら治ったみたいなのが出てきたんで、
手元のサウンド環境確認したらPipeWireぽかったんだが、pipewire-alsaが無かったんでpipewire-alsaを入れてみた。
それだけでJavaで音が出ない問題が解決した。