多个使用Android媒体播放器

时间:2014-03-11 07:41:27

标签: android video android-mediaplayer surfaceview

我正在使用Android MediaPlayer播放视频文件。我还有另一个媒体播放器能够播放默认Android MediaPlayer不支持的视频。我的MediaPlayer有两个SurfaceView。当用户从一个玩家切换到另一个玩家时,我需要隐藏显示它们。当用户从默认的Android MediaPlayer切换时,我需要隐藏默认的SurfaceView并停止播放器。当用户切换回默认的Android MediaPlayer时,我需要重新创建SurfaceView和MediaPlayer。对于SurfaceView和MediaPlayer的第一次创建,一切都很好。但在第二次我只有黑屏没有视频。可能是因为默认的MediaPlayer停止了?谢谢 这是我停止默认媒体播放器的功能。

private void stopMedia() {
   mPlayer.stop();
   mPlayer.reset();
   mSurfaceView.setVisibilty(View.GONE);
}

这是我创建MediaPlayer和surfaceView

的功能
public void createPlayer() {
   mDefPlayer = new DefaultVideoPlayer(mainActivity, this);
   mDefaultSurfaceHolder = mDefaultSurface.getHolder();
   mDefaultSurfaceHolder.addCallback(mDefaultCallback);
}

这是SurfaceView回调

mDefPlayer.setUpVideoFrom(path);
mDefPlayer.setDisplay(mDefaultSurface, holder);
mDefPlayer.setSeekBar(mSeekbar, mTime, mLength);
mDefPlayer.play();

我开始在onPrepared()

中播放视频
@Override
public void onPrepared(MediaPlayer mp) {
    mPlayer.start();
}

0 个答案:

没有答案