【Gallery3D】视频暂停时与桌面切换的显示问题

当视频暂停时,切换到桌面,视频的播放界面会透明并闪一下桌面,再打开播放器也会在播放区域闪一下桌面。播放中的视频与桌面的切换一切正常。

在MovieActivity中负责播放的是MoviePlayer类型的mPlayer。

【Gallery3D】视频暂停时与桌面切换的显示问题_第1张图片
当音频焦点改变时的监听器,当失去播放音频的焦点时,mPlayer执行onPauseViddeo()方法。
【Gallery3D】视频暂停时与桌面切换的显示问题_第2张图片

在onCreate方法中执行的方法,当mPlayer为空时对象的创建。

在onOptionItemSelected()中进行了诸多操作,比如原始尺寸,分享功能,是否有头戴耳机,声道的选择等等。Android.R.id.home 指的是actionBar最左侧的按钮,通常作为返回上一个界面使用。不是指手机的Home键

Activity的生命周期
onCreate – onStart()-onResume()-onPause()-onStop()-onDestroy()

在onPause()中
pauseVideo();
在onStop()方法中。即要使当前activity消失的第一步中
mPlayer.setVideoViewInvisible();
mControlResumed = false;
在onDestroy()中
对mPlayer()置空

未开始播放或播放后暂停返回桌面不会闪一下桌面。
从桌面切换来时如果已经在暂停状态,返回桌面会闪一下桌面。
播放视频时不会有这种情况

查看MoviePlayer的源码
private MoviePlayerVideoView mVideoView;
private final View mRootView;
private final Bookmarker mBookmarker;
mPlayer对象中的mVideoView就是视频的显示部分。

在onResume()中最后将mVideoView设为不可见可以显示黑色背景
在onPause()中将mVideroView设为不可见显示黑色背景。

问题解决。

你可能感兴趣的:(android)