为什么以下代码不能与我合作? :S
AudioPlayer.player.start(file1);
while(AudioPlayer.player.isAlive()) {}
AudioPlayer.player.start(file2);
我想逐个播放我的文件:S
答案 0 :(得分:1)
我假设您指的是sun.audio.AudioPlayer
。如果是这样,您应该知道sun.*
类仅供JRE使用;你应该查看javax.sound.*
包。 (另见the Java tutorial on sound)。
话虽如此,isAlive()
方法在Thread
类上,并且由于音频层线程附近,此方法永远不会返回false。
我会尝试通过查看基础InputStream
是否已关闭(例如,通过覆盖close()
方法)来检测歌曲的结尾。或者,您可以创建一个InputStream
,对您尝试播放的两个输入流进行排序。