19

是否可以获得对 videoView 正在使用的 mediaPlayer 实例的引用,最好是在其 ctor 内部?如果是这样,怎么做?

由于 videoView 没有 mediaPlayer 那么多的侦听器,我希望能够访问 mediaPlayer 以获得额外的控制和更好的事件处理。

4

1 回答 1

15

您可以从 VideoView 监听。

VideoView mVideoView=new VideoView();
mVideoView.setOnPreparedListener( new MediaPlayer.OnPreparedListener() {
  @Override
  public void onPrepared(MediaPlayer pMp) {
   //use a global variable to get the object
  }
});

或者,如果您只对媒体播放器事件感兴趣,您可以使用其中任何一个,并且这些事件在 VideoView 上实现,这些基本上是 MediaPlayer 事件。

void    setOnCompletionListener(MediaPlayer.OnCompletionListener l)
void    setOnErrorListener(MediaPlayer.OnErrorListener l)
void    setOnInfoListener(MediaPlayer.OnInfoListener l)
void    setOnPreparedListener(MediaPlayer.OnPreparedListener l)

所有这些函数也将提供一个媒体播放器实例。

于 2013-02-08T22:19:56.430 回答