Android媒体播放器:如何收听媒体播放器事件?

Geo*_*lov 4 mp3 android android-mediaplayer android-activity

大家好,我正在按照http://developer.android.com/guide/topics/media/mediaplayer.html的说明进行操作MediaPlayer,我想知道如何才能收听播放器中的事件,例如播放,暂停,停止等等...

该页面显示了如何仅监听onPreparedListener,因此我想知道是否存在播放器其他状态的事件,或者我将如何处理播放器的不同状态?

谢谢!

The*_*uto 5

不幸的是,您无法检测mediaplayer暂停还是停止,MediaPlayer该类具有一个isPlaying()可以检测其是否处于播放模式的函数。您可以采取一些措施来检测暂停情况,如下所示:

mediaplayer.pause();
//get the length of the mediaplayer here
length=mediaplayer.getCurrentPosition();
//and for resume you can do the following
mediaplayer.seekTo(length);
mediaplayer.start();
Run Code Online (Sandbox Code Playgroud)

要检查媒体播放器的停止状态,可以按上述进行检查,唯一的改变就是达到最大时间。就这样。或者,您可以使用setOnCompletionListener()

还要检查此答案,mediaplayer如何达到不同的状态。点击这里

媒体播放器包含以下侦听器:

 1. setOnBufferingUpdateListener
 2. setOnErrorListener
 3. setOnInfoListener
 4. setOnCompletionListener
 5. setOnSeekCompleteListener
 6. setOnTimedTextListener
 7. setOnVideoSizeChangedListener
 8. setOnPreparedListener
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你 。:)