LayaAir使用原生Video视频播放以及Video监听事件

1.原生Video的基本属性

src :视频的属性,url地址
poster:视频封面,没有播放时显示的图片
preload:预加载|none|metadata(部分预加载)|auto。默认为auto
autoplay:自动播放
loop:循环播放
controls:浏览器自带的控制条
width:视频宽度
height:视频高度

2.原生video标签隐藏dom元素  ,可隐藏不可以修改

 3.Laya使用原生Video视频播放的类代码如下

1var WebGL = laya.webgl.WebGL; 2Laya.init(600, 400, WebGL); 3 4class Video extends Laya.Sprite{ 5 constructor(){ 6 super(); 7 this.creatVideo(); 8 } 9 10 creatVideo(){ 11 let divElement = Laya.Browser.createElement("div"); 12 divElement.className = "div"; 13 Laya.Browser.document.body.appendChild(divElement); 14 Laya.Utils.fitDOMElementInArea(divElement,this , 0, 0, Laya.stage.width, Laya.stage.height); 15 this.divElement = divElement; 16 // this.divElement.style.display = "none"; 17 18 // 创建Video元素 19 let videoElement = Laya.Browser.createElement("video"); 20 videoElement.setAttribute("id", "myvideo"); 21 this.videoElement = videoElement; 22 videoElement.controls = true; 23 videoElement.autoPlay = false; 24 // 阻止IOS视频全屏 25 videoElement.setAttribute("webkit-playsinline", true); 26 videoElement.setAttribute("playsinline", true); 27 videoElement.setAttribute("x5-video-player-type",'h5'); 28 videoElement.setAttribute("x-webkit-airplay",true); 29 videoElement.setAttribute("x5-video-orientation","portrait"); 30 31 videoElement.setAttribute('preload', 'auto'); 32 videoElement.setAttribute('width', '100%'); 33 videoElement.setAttribute('height', '100%'); 34 35 videoElement.style.zInddex = Laya.Render.canvas.style.zIndex + 1; 36 videoElement.type = "vedio/mp4"; 37 videoElement.src = "视频链接" 38 videoElement.play(); 39 divElement.appendChild(videoElement); 40 } 41 42 videoEvent(){ 43 this.videoElement.addEventListener("loadstart",()=>{ 44 //加载事件 45 }); 46 this.videoElement.addEventListener("progress",()=>{ 47 //下载监听事件 48 }); 49 this.videoElement.addEventListener("play",()=>{ 50 //播放事件 51 }); 52 this.videoElement.addEventListener("pause",()=>{ 53 //暂停事件 54 }); 55 this.videoElement.addEventListener("seeking",()=>{ 56 //移动进度条事件 57 }); 58 this.vidjingeoElement.addEventListener("seeked",()=>{ 59 //进度条移动完成事件 60 }); 61 this.videoElement.addEventListener("waiting",()=>{ 62 //视频加载等待事件 63 }); 64 this.videoElement.addEventListener("timeupdate",()=>{ 65 //视频实时更新进度事件 66 }); 67 this.videoElement.addEventListener("ended",()=>{ 68 //播放完成事件 69 }); 70 this.videoElement.addEventListener("error",()=>{ 71 //播放出错 72 }); 73 74 } 75 76 77 78} 79 80var videoele = new Video(); 81Laya.stage.addChild(videoele);
点赞
收藏

评论区

加载中...

相关推荐

uni app video、视频播放开发

视频播放有3种解决方案,使用HTML5的自带video、从HBuilder9.1.3起新增的plus.video的原生视频播放,以及使用Native.js。1.HTML5自带video标签,可以播放符合HTML5规范的视频格式。注意不含flv、ra等三方商业公司的规范格式。HTML5的video在Android上有较多浏览

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

vue video全屏播放

需求:1、视频为长方形,页面初始化打开为横屏全屏播放视频。2、微信不支持自动播放,故自动播放需求删除。方法:1、vuevideoplayer插件因需求较简单,仅要求播放本地一个视频,故未选择使用插件。2、video<divid"video_box"style"zindex:999;":cl

从0到1搭建一款Vue可配置视频播放器组件(Npm已发布)

前言话不多说,这篇文章主要讲述如何从0到1搭建一款适用于Vue.js的自定义配置视频播放器。我们平时在PC端网站上观看视频时,会看到有很多丰富样式的视频播放器,而我们自己写的video标签样式却是那么丑。其实像那些网站都是基于原生video标签进行开发的,只不过还得适当加工一下,才会有我们所看到的漂亮的视频播放器。开发在具体开发之前,我们需要明确我们需要做什

Javascript判断Video视频播放、暂停、结束完成及获取长度事件监听处理

在日常应用场景中,可能会遇到这么一个情况,需要判断用户是否完整的观看完了一部视频,在这个场景中,和视频相关的事件大体涉及到几个部分,获取视频长度,视频开始播放,暂停播放和播放结束,下面来看下如何通过JavaScript来监听获取视频的这几种状态。html页面视频标签大体如下:<video id\"video" controls\"controls