有没有一种方法可以判断SoundPool中是否正在播放某个特定的声音?例如:
if(MySound./*Command Goes Here*/()==true{
//Do stuff
}
我希望你能为我指明方向或提供代码。在文档中我找不到任何可以实现这个的东西。
使用SoundPool
是不可能实现的。
参见Android SoundPool: get notified when end of played,了解另外两个想法:
OnCompletionListener
的MediaPlayer
代替SoundPool
MediaPlayer
与SoundPool
结合使用。先在MediaPlayer
中加载声音以获取其持续时间,并基于播放时的持续时间跟踪声音是否完成播放。MediaPlayer
还具有isPlaying()
,getCurrentPosition()
,getTrackInfo()
等方法。 - Squonk