设置一个回调,以便在X秒后调用MediaPlayer

时间:2018-02-05 15:38:25

标签: android android-mediaplayer

我有一个MediaPlayer对象,然后,让我们说,5秒钟的歌曲时间应该调用回调。

如何使用MediaPlayer归档?

或者是否需要创建一个包装器,启动一个新的Thread,在该Thread中等待5秒并调用回调函数?

2 个答案:

答案 0 :(得分:1)

MediaPlayer没有任何此类内容,但实现此目的的一种方法是使用Handler.postDelayed(Runnable, long)。这将在特定延迟后执行Runnable。 https://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long)

另一个选项是Timer.schedule(TimerTask, long)https://developer.android.com/reference/java/util/Timer.html#schedule(java.util.TimerTask,长)

答案 1 :(得分:1)

Handler是你正在寻找的东西,因为媒体播放器对此没有任何api。

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Do something after 2000ms
    playMusic()
  }
}, 2000);