0

オーディオ ファイルを再生する Java アプリケーションがあります。そのため、オーディオ ファイルまたはサウンドが Java アプリケーションによって再生される前に、Windows メディア プレーヤー、VLC プレーヤーなどの他のすべてのアプリケーション サウンドが現在再生されている場合はミュートしたいと考えています。

私の Java アプリケーションがオーディオ ファイルの再生を完了した後、再度ミュートを解除したいと考えています。

それを行う方法はありますか?

ありがとう

4

2 に答える 2

1

いいえ、できません。これは Java とは関係ありませんが、OS では許可されていません。適切に動作するアプリケーションは、オーディオ フォーカスを失ったときに再生を一時停止する必要があります。

于 2012-10-16T11:33:44.583 に答える
0

昔ながらのJavaAFAIKではこれを行うことはできません。JNIまたはJNAを使用する必要があります。トリックを行う可能性のあるオーディオアクセス用のAPIがいくつかあります。たとえば、Javaのportaudioを使用できます(最近、誰かがそれを行うオープンソースプロジェクトを発表しました。見つからない場合は、portaudioのmalingリストで質問してください)。いくつかの問題があります:

  • コードプラットフォームに依存するようになります。
  • 常に機能するとは限りません(たとえば、権限がない場合、別のソフトウェアがすでにデバイスを使用している場合、デバイスに排他モードがない場合、またはその他の理由があります)。
  • javasoundの代わりにPAインターフェースを使用するには、オーディオコードを再プログラムする必要があります。
于 2012-10-17T14:57:42.560 に答える