我正在使用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();
}