(安卓)如何判断soundpool中是否正在播放声音

4
有没有一种方法可以判断SoundPool中是否正在播放某个特定的声音?例如:
    if(MySound./*Command Goes Here*/()==true{
//Do stuff
        }

我希望你能为我指明方向或提供代码。在文档中我找不到任何可以实现这个的东西。


1
可能是重复的问题:Android SoundPool:在播放结束时得到通知 - bobs
1个回答

2

使用SoundPool是不可能实现的。

参见Android SoundPool: get notified when end of played,了解另外两个想法:

  • 使用提供OnCompletionListenerMediaPlayer代替SoundPool
  • MediaPlayerSoundPool结合使用。先在MediaPlayer中加载声音以获取其持续时间,并基于播放时的持续时间跟踪声音是否完成播放。

MediaPlayer还具有isPlaying()getCurrentPosition()getTrackInfo()等方法。 - Squonk
谢谢,我会跟随 @Squonk 的建议,加载 MediaPlayer 并在那里获取长度。感谢你的答案。 - Bob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接