视频播放中按Home Key后,再进入视频播放时的问题!!!(在线等)

时间:2022-09-09 15:53:33
我用VideoView实现了一个视频播放器。目前碰到一个问题,请各位高手帮忙分析解决。

【功能描述】
1.当视频播放中,用户按下Home Key后,视频播放暂停,返回到桌面,当再次进入视频播放时,视频自动进行播放。
2.当视频播放中,用户先按下“暂停”后,再按下Home Key,返回到桌面,当再次进入视频时,视频暂停播放。

【问题】
在2中描述的现象里,当按下Home Key后,再次进入视频时,暂停播放的视频区域显示黑背景,
不能描画暂停的画面,播放进度和操作按键都能正常描画,请高手帮忙解决?

【备注】
想通过获取视频暂停位置的帧画面来解决此问题,但是不知道什么接口或方法能够实现,或请各位赐教!
注:Android SDK为2.2版本!

7 个解决方案

#1


从home退出播放器时,在onstop中记录下当前的帧,然后再进入时,在onResume里恢复记录的帧

#2


用什么方法获取当前帧?

#3


如果需要画面的话,在退出时需要截取当前的画面保存,下次进入时显示该图片,并且将帧指定到播放的位置,按开始按钮后便开始播放。

sdk中有VideoView的所有方法,
public void seekTo (int msec)

该方法就是指定到某个位置开始播放!

#4


引用 3 楼 huweilong1030 的回复:
如果需要画面的话,在退出时需要截取当前的画面保存,下次进入时显示该图片,并且将帧指定到播放的位置,按开始按钮后便开始播放。

sdk中有VideoView的所有方法,
public void seekTo (int msec)

该方法就是指定到某个位置开始播放!

对,保存之前播放时的毫秒数,再次播放直接seekTo到那个时间点的位置。

#5


大家说的方法我之前就已经使用了!

我不是不知道使用seekTo能找到视频中断的位置!
目前的问题是,前提我要视频暂停后离开,回来时视频还是暂停状态,并不是seekTo到之前中断的位置继续播放;但即使回来后使用seekTo到了中断位置,我再调用pause方法,叫视频暂停播放,视频播放区域描画的是黑色,并不能显示之前中断时那一帧。请各位看清楚我之前的问题!

我想求获取之前那一帧的画面,或者说那一帧图片的方法。
这样我在暂停状态回来时,手动描画那一帧的图片来避免这个问题!

不知道大家是否理解了我的描述,感谢支持!

#6


问题已经解决,还是感谢大家的帮助!
onStop中调用VideoView的suspend方法
onResume中调用VideoView的resume方法

#7


可否告知具体如何实现的呢? 遇到同样的问题,suspend方法里面释放掉了mediaPlayer, resume方法里面则是执行openVideo, 这样子说起来与想实现的东西并不符合啊?
引用 6 楼 wangjiawei611 的回复:
问题已经解决,还是感谢大家的帮助!
onStop中调用VideoView的suspend方法
onResume中调用VideoView的resume方法

#1


从home退出播放器时,在onstop中记录下当前的帧,然后再进入时,在onResume里恢复记录的帧

#2


用什么方法获取当前帧?

#3


如果需要画面的话,在退出时需要截取当前的画面保存,下次进入时显示该图片,并且将帧指定到播放的位置,按开始按钮后便开始播放。

sdk中有VideoView的所有方法,
public void seekTo (int msec)

该方法就是指定到某个位置开始播放!

#4


引用 3 楼 huweilong1030 的回复:
如果需要画面的话,在退出时需要截取当前的画面保存,下次进入时显示该图片,并且将帧指定到播放的位置,按开始按钮后便开始播放。

sdk中有VideoView的所有方法,
public void seekTo (int msec)

该方法就是指定到某个位置开始播放!

对,保存之前播放时的毫秒数,再次播放直接seekTo到那个时间点的位置。

#5


大家说的方法我之前就已经使用了!

我不是不知道使用seekTo能找到视频中断的位置!
目前的问题是,前提我要视频暂停后离开,回来时视频还是暂停状态,并不是seekTo到之前中断的位置继续播放;但即使回来后使用seekTo到了中断位置,我再调用pause方法,叫视频暂停播放,视频播放区域描画的是黑色,并不能显示之前中断时那一帧。请各位看清楚我之前的问题!

我想求获取之前那一帧的画面,或者说那一帧图片的方法。
这样我在暂停状态回来时,手动描画那一帧的图片来避免这个问题!

不知道大家是否理解了我的描述,感谢支持!

#6


问题已经解决,还是感谢大家的帮助!
onStop中调用VideoView的suspend方法
onResume中调用VideoView的resume方法

#7


可否告知具体如何实现的呢? 遇到同样的问题,suspend方法里面释放掉了mediaPlayer, resume方法里面则是执行openVideo, 这样子说起来与想实现的东西并不符合啊?
引用 6 楼 wangjiawei611 的回复:
问题已经解决,还是感谢大家的帮助!
onStop中调用VideoView的suspend方法
onResume中调用VideoView的resume方法