安卓媒体播放器:我如何监听媒体播放器事件?

4
我正在按照这里介绍的方法使用MediaPlayer,但我想知道如何监听播放器的播放、暂停和停止等事件?
该页面只展示了如何监听onPreparedListener事件,我想知道是否有其他状态的事件,或者如何处理播放器不同的状态?
2个回答

6

很遗憾,你无法检测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();

要检查mediaplayer的停止状态,您可以按照上述方式进行检查,唯一需要更改的是达到最大时间。就这样。或者,您可以使用setOnCompletionListener()

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

mediaplayer包含以下监听器:

 1. setOnBufferingUpdateListener
 2. setOnErrorListener
 3. setOnInfoListener
 4. setOnCompletionListener
 5. setOnSeekCompleteListener
 6. setOnTimedTextListener
 7. setOnVideoSizeChangedListener
 8. setOnPreparedListener

希望这能帮到你。:)

@ Caius 当然没问题! :) - TheLittleNaruto

1
你可以查看实现了一些监听器(如onCompletiononError等)的VideoView。各种监听器的初始化可以在此处找到。
您还可以参考CTS中的MediaPlayerTest获取其他示例,可在此处找到。

1
非常有用。谢谢! - Georgi Angelov

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