DBMNG数据库管理与应用

所有存在都是独创。
当前位置:首页 > 移动应用 > 微信开发

安卓微信中播放视频防止自动全屏

最新的设置安卓视频不全屏播放(不知道是否全部安卓机型都支持)的方法

前两天做了一个石头剪刀布的视频游戏项目,测试过程中找到了更加简便的方法,分享下,如下设置HTML代码:

<video id="videoID" controls src="XXX" poster="XXX.jpg" preload="auto" x-webkit-airplay="true" x5-playsinline="true" webkit-playsinline="true" playsinline="true"></video>


安卓设置属性:

 x5-playsinline="true"

实测,不可加以下属性设置,否则还是会跳出黑底全屏播放

 x5-video-player-type='h5' x5-video-player-fullscreen='true'


注意的细节就是,(只是安卓机)当视频播放后:

  1、它的层级比较高,当有设置定位的弹层显示后,即使设置z-index层级特别高,还是会被播放过的视频挡住的(我这边解决方法就是当显示弹层时隐藏视频,关闭弹层再显示视频),也就是说此视频不可设置被其它元素遮挡,它永远是在最上层的

  2、如果有背景音乐播放时,当视频播放后,背景音乐自动停止且不会在视频播放完后再继续播放


 IOS设置属性:

 webkit-playsinline="true" playsinline="true" 


*****************************************************************************************


使用canvas解决:


安卓微信中播放视频时总是会自动在新窗口全屏播放视频,而且播放结束后自动推送多个视频列表展示给用户选择,但有时候我们就是需要视频能够局部区域播放


找了一年多的答案终于有了结果了


下面贴出解决办法:


1、HTML中

① 给video标签增加属性,使浏览器调用h5原生video

 <video id="testVideo" x5-video-player-type='h5' x5-video-player-fullscreen='true'>

②在页面中添加canvas画布

<canvas id="testCanvas"></canvas>


2、CSS中,使video隐藏

video{display:none}


3、js代码配置

/*以下是渲染CANVAS画布中的视频*/

//获取video

var TestVideo=document.getElementById("testVideo");

//获取canvas画布

var TestCanvas=document.getElementById("testCanvas");

//设置画布

var TestCanvas2D=TestCanvas.getContext('2d');

//设置setinterval定时器

var TestVideoTimer=null;

//监听播放

TestVideo.addEventListener('play',function() {

    TestVideoTimer=setInterval(function() {

        TestCanvas2D.drawImage(TestVideo,0,0,videoW,videoH);

    },20);

},false);

//监听暂停

TestVideo.addEventListener('pause',function() {

    clearInterval(TestVideoTimer);

},false);

//监听结束

TestVideo.addEventListener('ended',function() {

    clearInterval(TestVideoTimer);


 


},false);


 


 


测试demo的下载地址:


  测试的demo中,对安卓和苹果手机进行了判断,因为大家应该都知道,苹果手机在播放视频时设置video的playsinline="true"属性后,视频就可以局部区域播放了,界面友好,而安卓则比较让人头痛,所以只需对安卓机进行以上(HTML/CSS/JS)设置即可。



本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号