お世話になります。
AudioTrackクラスによる再生はできたので、ループ再生に挑戦しているのですが、再生の終了と同時に次の再生を行えず、妙な間隔があくので、困っています。
しかも、アプリ終了後に突然音がでます。
問題のコードは以下の通りです。
java
1 //再生 2 public void PlaySound() 3 { 4 at.play(); 5 at.write(soundBytes, 46, soundBytes.length-46); 6 } 7 //停止 8 public void StopSound() 9 { 10 at.stop(); 11 at.flush(); 12 } 13 //サブスレッドを立てる。onResumeにて最初の下記関数を呼び出す。 14 private void BGMStart() 15 { 16 Thread t= 17 new Thread(new Runnable(){ 18 19 @Override 20 public void run() { 21 { 22 PlaySound(); 23 24 try { 25 Thread.sleep(SoundTimeMili);//再生時間内は、スレッドを止める 26 } catch (InterruptedException ignore) { 27 } 28 StopSound(); 29 BGMStart(); 30 } 31 } 32 }); 33 t.start(); 34 }
どうすれば、切れ目のないループ再生ができますか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。