0696デフォルトの名無しさん
2020/03/24(火) 07:48:09.82ID:XYP68GGLこれが問題のクラスです。
https://ideone.com/r0mbjJ
.wavファイルはどれも「チャリン」とか「ピポッ」みたいな1、2秒の短いファイルです。
オーディオクリップを再生する時は Direct Clip というデーモンスレッドが立ち上がります。
デバッガでトレースしてみたところ、
new Chime().play(0);
とやると、43行目の
clip.open(ais[type]);
の部分で Direct Clip が立ち上がり、Eclipse のデバッグビューに現れます。
そして70行目の
clip.close();
が実行されると消滅します。
ところが、数十回に1度くらいの頻度で、このデーモンスレッドが消えません。
デーモン・スレッド [Direct Clip] (実行中)
という表示がデバッグビューにずっと残って、だんだんと増えていきます。
close文が実行されていないのかと思ってprint文を入れてみましたが、
問題が発生した時もちゃんと
open start stop close
と表示されています。頻度が小さいこともあって、どういう条件の時に起きるか特定できていません。
コードを見てここがおかしいというというところがあるでしょうか?