2011-07-16 11 views
25

Clojureにバックグラウンドでmp3を実行するオーディオ用のJLayer Javaライブラリを使用する数百のラインアプリを作成しました。これは正常に動作しますが、他の音楽、YouTubeなどをバックグラウンドで実行すると(私はArch Linuxを実行しています)、私のアプリのサウンドは完全に停止します。他のアプリで音楽を再生すると、JLayerの音楽が停止する

私は最後の2時間を無駄にし、これを解決するために何十ものことを試しましたので、どんなアドバイスも感謝します。

+1

私の最初の推測は、アプリケーションがバックグラウンドに置かれていると一時停止していることです.2番目の推測では、サウンドバッファは1つのアプリケーションでのみ動作するということです。アプリケーションがバックグラウンドにある場合、アプリケーションは何か他のことをしますか?ファイルに書き込むようにして、アプリがバックグラウンドであってもファイルが成長し続けるかどうかを確認してください。私たちにhttp://sscce.org/を教えてもらえますか?私たちはそれを再現し修正しようと思いますか? –

+4

はClojure/Javaの問題よりサウンドドライバの問題に似ています。Linuxのエキスパートのフォーラムで聞いたほうがいいかもしれません! – mikera

+0

返信してくれてありがとうございます。他のソースから複数のサウンドストリームを実行することができます。つまり、音楽がバックグラウンドを実行している間に、グラフを作成することができます。オーディオがオンの間に機能することができます。別のデバイスにオーディオがあるときにすぐに停止し、リセットするまで再開しません。 – ChrisR

答えて

0

私はJavaのサウンドに関する個人的なコーディング経験はありませんが、LinuxのサウンドサービスやJavaサウンドインターフェイスに関しては、いくつかの不一致の仮定や不完全なAPIがあることを理解しています。一緒に2つをミックスし、あなたが逃げ出したものを得る。同様の、おそらく同じ問題にFreeTTS、Iランドで遊んでいる間:

FreeTTS, Java, Linux: Workaround for "LINE UNAVAILABLE: Format is ..."

1

あなたは、Linuxにしていると述べているので、問題はあなたのALSAドライバにある可能性があります。 this articleが問題の解決に役立つかどうかを確認してください。

0

以前私はPulseAudioとJackがサウンドカードの制御のために戦っていることに問題がありました。

あなたはそれを考慮しましたか? 2つのアプリがこのようにして互いに戦っているかどうか確認できますか?