整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML5播放器怎么让部分浏览中播放视频不全屏

HTML5播放器怎么让部分浏览中播放视频不全屏

定义H5播放器,在微信以及一些Android和iOS浏览中播放,存在容易被自带浏览器接管的情况。接管后播放时,播放器的一些功能设置就不再显示,比如水印信息等。

如果设置安卓和iOS手机在微信里打开不全屏的话,就可以正常显示自定义播放器的参数,比如水印。

除了H5播放器可以设置是否全屏外,要想实现播放器自定义的一些效果更好展示,还可以进行如下配置:

1、android下提示,让用户使用chrome 70以上内核的浏览器(安卓自带的)去播放,不允许他们在微信这些播放;

2、IOS下,也是chrome下可以; IOS下还可以支持微信播放,如果不允许全屏的话,也可以有水印。

3、电脑版下没问题,基本主流浏览器都可以实现H5播放器自定义参数显示。

多媒体标签:

音频标签audio:

    <audio src="音频文件的URL"></audio><!-- audio标签需要controls控件才可以播放音频,controls的属性值可以省略,如果URL为视频格式文件,则只会播放音频 -->

html5中通过audio标签实现音频播放,支持的格式有.mp3/.ogg/.wav;注意:标签中必须要有controls属性,否则不会播放;loop循环播放,autoplay自动播放属性(谷歌为了用户体验禁用了这个功能);一般为了兼容多个浏览器,audio标签中不写src属性,而是通过source标签写入多个格式的音频供浏览器选择,若都不支持则输入提示文字:


    <body>
      <audio controls loop autoplay>
        <source src="music/bgsound.mp3" type="audio/mpeg">
        <source src="music/movie04.ogg" type="audio/mpeg">
          若浏览器都不支持以上格式,在这里输入提示文字即可
      </audio>
    </body>

视频标签video:


    <video src="视频文件的URL" controls="controls"></video><!-- video标签需要controls控件才可以播放视频,controls的属性值可以省略 -->

视频一般比较大,如果是一般的视频上传,我们可以借助第三方视频平台,如腾讯、优酷等,把视频上传到第三方平台后分享,通过ifram标签插入到代码中即可。

embed可以用来插入各种多媒体,例如Midi、Wav、AIFF、AU、MP3等格式,它支持音频或视频播放


    <embed src="" allowFullScreen="true" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>

html5中定义视频通过video标签,其属性:autoplay自动播放(谷歌为了用户体验禁用了这个功能,解决方法是给video标签加静音属性muted)、muted静音、controls默认播放控件、loop循环播放、poster加载等待的图片、preload是否预先加载,其属性值auto和none、width设置播放窗口的宽度、height设置播放窗口的高度,支持的格式有ogg/MPEG4/WebM等,一般video标签中不写src属性,而是通过source标签写入多个格式的视频供浏览器选择,若都不支持则输入提示文字:


    <body>
      <video controls loop autoplay poster="images/bg.jpg">
        <source src="video/movie04.ogg" type="video/ogg">
        <source src="video/mp4.mp4" type="video/mp4">
          若浏览器都不支持以上格式,在这里输入提示文字即可
        </video>
    </body>

全屏方法:

HTML5允许用户自定义网页上任意一元素全屏显示,element.requsetFullScreen()开启全屏显示;

同样支持关闭全屏操作:document.cancelFullScreen(),注意:任何元素的全屏操作后都只需要给document关闭全屏即可。

document.fullScreen检测当前是否处于全屏状态。

以上方法不支持ie9以下低版本浏览器,以及高级浏览器加私有前缀才可以使用(webkit内核浏览器:webkitRequestFullScreen、webkitCancelFullScreen,如chrome浏览器。Gecko内核浏览器:mozRequestFullScreen、mozCancelFullScreen,如火狐浏览器;document.webkitIsFullScreen、document.mozFullScreen)



        <script>
            var btn=document.querySelector('input');
            var flag=true;
            if (flag) {
                btn.onclick=function() {
                    bodys.webkitRequestFullScreen();
                    !flag;
                };
            } else {
                btn.onclick=function() {
                    document.webkitCancelFullScreen();
                    !flag;
                };
            };
        </script>

自定义播放器:

播放器中常用方法:



播放器中常用属性:



继:



播放器中常用事件:



解决html5标签兼容性:

由于html5新增的许多语义化标签在低版本浏览器不兼容,这里推荐一款js插件来解决这个问题:html5shiv.js,其相关教程查阅官网:https://www.npmjs.com/package/html5shiv

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。

笔者:苦海123

其它问题可通过以下方式联系本人咨询:

QQ:810665436

微信:ConstancyMan

creenfull.js --浏览器全屏插件

screenfull.js是用于跨浏览器使用JavaScript Fullscreen API的简单包装器, 可让您将页面或任何元素全屏显示, 并且平滑浏览器实现差异,


github地址:https://github.com/sindresorhus/screenfull.js 。

压缩版下载地址: https://www.bootcdn.cn/screenfull.js/

项目中需要将后台浏览器的窗口全屏, 也就是我们点击一个按钮要实现按F11全屏的效果。

在HTML5中,W3C制定了关于全屏的API, 就可以实现全屏幕的效果, 也可以让页面中的图片,

视频等全屏目前只有google chrome 15 +, safri5.1+,firfox10+,IE11支持

var docElm=document.documentElement;
//W3C
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
//FireFox
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
}
//Chrome等
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
}
//IE11
else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
}
if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
document.addEventListener("fullscreenchange", function () {
fullscreenState.innerHTML=(document.fullscreen)? "" : "not ";}, false);

document.addEventListener("mozfullscreenchange", function () {
fullscreenState.innerHTML=(document.mozFullScreen)? "" : "not ";}, false);

document.addEventListener("webkitfullscreenchange", function () {
fullscreenState.innerHTML=(document.webkitIsFullScreen)? "" : "not ";}, false);
document.addEventListener("msfullscreenchange", function () {
fullscreenState.innerHTML=(document.msFullscreenElement)? "" : "not ";}, false);


实例:

http://robnyman.github.io/fullscreen/

html代码:

<p>
<button id="view-fullscreen">Fullscreen</button>
<button id="cancel-fullscreen">Cancel fullscreen</button>
</p>

js代码