likes
comments
collection
share

解决video在ios中播放自动全屏问题

作者站长头像
站长
· 阅读数 41

前言:当video在ios上面点击播放会自动全屏播放,这个体验有点不好,因为上面有全屏播放提示,如果用户真的需要全屏可以自己点击全屏播放按钮,所以需要禁止video在ios系统自动全屏播放。

一、解决

ios中:

只需要在标签里面写上:webkit-playsinline='true'    playsinline='true'

android中:

android端部分视频也会存在自动全屏问题,添加:x5-video-player-type="h5-page"

二、延伸:

1、标签定义:

<video> 标签定义视频,比如电影片段或其他视频流,可以放置视频资源,并添加视频控件。

支持的浏览器:Internet Explorer 9+, Firefox, Opera, Chrome 以及 Safari 支持 <video> 标签。

注:Internet Explorer 8 以及更早的版本不支持 <video> 标签。

eg:

<video controls="controls" src="images/video.mp4"  id="Video" poster="images/vImg.jpg" preload="auto" loop="true" width="100%" height="auto" webkit-playsinline='true'  playsinline='true' ></video>

2、video属性:

属性名具体介绍
src要播放的视频的 URL
poster视频封面;没有播放时显示的图片,规定视频正在下载时显示的图像,直到用户点击播放按钮。
preoad预加载。如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
autoplay自动播放;视频在就绪后马上播放。
loop如果出现该属性,则当媒介文件完成播放后再次开始播放。
muted如果出现该属性,视频的音频输出为静音。
controls如果出现该属性,则向用户显示控件,比如播放按钮,浏览器自带的控制条
width设置视频播放器的宽度
height设置视频播放器的高度

3、poster的具体介绍:

poster 属性规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。所有主流浏览器都支持 poster 属性。

如果未设置该属性,则使用视频的第一帧来代替。

注:测试了一下,android若设置该属性但未设置图片,是会显示第一帧,但ios不行,会显示空白

所以如果需要显示视频封面且适配俩端,不能只写  <video  poster> </video>,需要指定封面图片:<video  poster=‘url’> </video>

其中 url值 描述URL指定图片文件的URL。可能值:

绝对URL - 指向另外一个站点URL (如:href="www.example.com/poster.jpg")

相对URL - 指向同个站点的URL (如: href="poster.jpg")

eg:

<video controls poster="/images/w3html5.gif">
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  您的浏览器不支持 video 标签。
</video>

EOF

解决video在ios中播放自动全屏问题