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

1.原生Video的基本属性

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

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

 

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

var WebGL = laya.webgl.WebGL;
Laya.init(600, 400, WebGL);

class Video extends Laya.Sprite{
    constructor(){
        super();
        this.creatVideo();
    }

    creatVideo(){
        let divElement = Laya.Browser.createElement("div");
        divElement.className = "div";
        Laya.Browser.document.body.appendChild(divElement);         
        Laya.Utils.fitDOMElementInArea(divElement,this , 0, 0, Laya.stage.width, Laya.stage.height); 
        this.divElement = divElement;
        // this.divElement.style.display = "none";

        // 创建Video元素
        let videoElement = Laya.Browser.createElement("video");
        videoElement.setAttribute("id", "myvideo");
        this.videoElement = videoElement;      
        videoElement.controls = true;
        videoElement.autoPlay = false;
        // 阻止IOS视频全屏
        videoElement.setAttribute("webkit-playsinline", true);
        videoElement.setAttribute("playsinline", true);
        videoElement.setAttribute("x5-video-player-type",'h5');
        videoElement.setAttribute("x-webkit-airplay",true);
        videoElement.setAttribute("x5-video-orientation","portrait");
        
        videoElement.setAttribute('preload', 'auto');
        videoElement.setAttribute('width', '100%');
        videoElement.setAttribute('height', '100%');
         
        videoElement.style.zInddex = Laya.Render.canvas.style.zIndex + 1;      
        videoElement.type = "vedio/mp4";     
        videoElement.src = "视频链接"
        videoElement.play();
        divElement.appendChild(videoElement);  
    }

    videoEvent(){ 
        this.videoElement.addEventListener("loadstart",()=>{
            //加载事件
        });   
         this.videoElement.addEventListener("progress",()=>{
            //下载监听事件
        });
         this.videoElement.addEventListener("play",()=>{
            //播放事件
        });
         this.videoElement.addEventListener("pause",()=>{
            //暂停事件
        });
         this.videoElement.addEventListener("seeking",()=>{
            //移动进度条事件
        });
         this.vidjingeoElement.addEventListener("seeked",()=>{
            //进度条移动完成事件
        });
         this.videoElement.addEventListener("waiting",()=>{
            //视频加载等待事件
        });
         this.videoElement.addEventListener("timeupdate",()=>{
            //视频实时更新进度事件
        });
        this.videoElement.addEventListener("ended",()=>{
            //播放完成事件
        });
        this.videoElement.addEventListener("error",()=>{
            //播放出错
        });
        
    }


    
}

var videoele = new Video();
Laya.stage.addChild(videoele);

 

转载于:https://www.cnblogs.com/joyce123/p/10606344.html

uniapp是一个使用Vue.js开发所有前端应用的框架,它允许开发者编写一次代码,然后发布到iOS、Android、Web(包括PC)以及各种小程序(微信/支付宝等)平台。在uniapp播放原生视频,可以使用它提供的`<video>`组件来实现。 以下是使用`<video>`组件播放视频的基本方法: 1. 在页面的`.vue`文件添加`<video>`组件,并设置其属性来指定视频源和相关配置。 ```html <template> <view> <video id="myVideo" src="视频文件的URL" controls autoplay loop muted ></video> </view> </template> ``` 在这个例子: - `src`属性设置视频文件的URL地址。 - `controls`属性显示播放控件。 - `autoplay`属性使视频自动播放。 - `loop`属性使视频循环播放。 - `muted`属性使视频静音。 2. 可以根据需要配置更多的属性,比如: - `initial-time`:初始时视频播放的位置。 - `poster`:视频封面图片的URL。 - `object-fit`:视频填充模式。 - `bindplay`、`bindpause`等事件绑定来监听视频播放事件。 3. 在页面的JavaScript部分,可以通过uniapp提供的API来动态控制视频播放,例如: ```javascript export default { onReady() { const videoContext = uni.createVideoContext('myVideo'); // 可以在这里调用videoContext的方法来控制视频,例如: // videoContext.play() - 播放视频 // videoContext.pause() - 暂停视频 // videoContext.seek() - 设置视频播放位置 } } ``` 以上就是在uniapp播放原生视频的基本方法。实际使用时,需要根据具体需求调整属性和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值