質問: Java Sound APIで音楽を同時に再生しようとしても上手く行きません。 一体何故でしょうか? アルゴリズムは以下の通りです。下記のURLを参考にしました。 https://github.com/dberm22/DBoard/blob/master/src/com/dberm22/utils/MediaPlayer.java 1.複数の音楽データと複数のsourceDataLineを宣言する 2.音楽データ事にsourceDataLineに音楽のデータを書き込んで再生する この方法でうまくいくと思ったのですが、出来ませんでした。 どうやら音楽のチャンネルを全てのLineで共有しているようなのです。 どうすれば回避できるでしょうか?英語の文献を漁っても対処法が分かりませんでした。 よろしくお願いします。
回答: Java8 + Windows7 64bitで、以下のコードを走らせたところ、2曲同時に再生できました。 実現したい方法は違うかも知れませんが、同時に再生すること自体には問題なさそうです。 もしかしたら実行環境の違いで動作しないのかも知れませんが。 ``` // import java.util.concurrent.*; ExecutorService threadPool = Executors.newFixedThreadPool(2); MediaPlayer player1 = new MediaPlayer(new File("music1.wav")); MediaPlayer player2 = new MediaPlayer(new File("music2.wav")); threadPool.execute(player1); threadPool.execute(player2); ```