最近对视频播放的项目需求是点击大图播放视频,视频播放完毕后,视频隐藏并显示图片

1.一般对视频图片的处理方法是放在poster中,但是这次的图片和视频比例完全不一样  所以没办法放在poster中且希望视频播放完后能回到图片的状态。

2.第二个方法是video设为display:none;点击图片直接video.play();

这种直接播放的方法。在iphone和小米中都可以,因为在微信中打开,点击播放视频会直接进入到系统播放器中

但是华为和魅族上面就不行了,华为和魅族是在当前页面上播放,虽然也调用了系统播放器,但是如果为display:none;就只有声音没有画面

3.第三个方法是把video一开始为display:none;点击播放后display:block;播放完后再display:none;

这种方法在安卓上没有什么问题,但是在ios上发现,播放完video状态变为display:none之后,第二次再播放就会只有声音,画面变为黑色

经过多次测试发现,不能再次设置video为display:none,否则就会出现画面为黑色的状态

但是又想要视频播放完后便隐藏掉

4.第四种方法就是把播放完后的display:none;改为width:0;点击播放再改为width:100%,这样进行多次播放就完全没有问题了

这种方法的缺点是,ios点击播放视频会有大概一秒钟的停顿时间,这时就会有图片突然消失的闪烁,但是比着前几个的错已经可以接受了