19

videoView が使用している mediaPlayer インスタンスへの参照を取得することはできますか? もしそうなら、どのように?

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 に答える