当前位置: 首页 > news >正文

Laya使用VideoNode动态加载视频,可以自定义播放视频此处以及位置

export class VideoCommand {video: Laya.VideoNode;public duration: number = 0;/*** @param videoPos 视频位置* @param videoSize 视频大小*/public constructor(videoPos: Laya.Vector2, videoSize: Laya.Vector2) {this.video = new Laya.VideoNode;//添加到舞台  1是场景中的Sene2D,0是场景中Scene3DLaya.stage.getChildAt(1).addChild(this.video);this.video.size(videoSize.x, videoSize.y);this.video.pos(videoPos.x, videoPos.y); //设置到右上角this.video.visible = false;}/*** @param ready 视频准备就绪事件*/public ReadyEvent(ready: () => void) {this.video.videoTexture.off("ready", this);this.video.videoTexture.on("ready", this, () => {console.log("视频准备就绪");ready?.();});}/*** 视频开始播放事件* @param playing 视频开始播放事件*/public PlayingEvent(playing: () => void) {this.video.videoTexture.off("playing", this);this.video.videoTexture.on("playing", this, () => {console.log("视频开始播放");playing?.();});}/*** 视频播放完成事件* @param ended 视频播放完成事件*/public EndedEvent(ended: () => void) {this.video.videoTexture.off("ended", this);this.video.videoTexture.on("ended", this, () => {console.log("视频播放完成");this.video.source = "";ended?.();});}/*** 设置视频位置* @param videoPos 视频位置*/public SetVideoPos(videoPos: Laya.Vector2) {this.video.pos(videoPos.x, videoPos.y);}/*** 设置视频大小* @param videoSize 视频大小*/public SetVideoSize(videoSize: Laya.Vector2) {this.video.size(videoSize.x, videoSize.y);}/*** 设置视频可见性* @param visible 是否可见*/public SetVideoVisible(visible: boolean) {this.video.visible = visible;}/*** 播放视频* @param videoPath 视频路径* @param loop 是否循环播放*/public playVideo(videoPath: string, loop: boolean) {this.video.visible = true;this.video.loop = loop;this.video.source = "resources/Media/" + videoPath;//设置视频帧率this.video.videoTexture.useFrame = true;this.video.videoTexture.updateFrame = 30;this.video.muted = false;this.video.reload();//重新加载视频this.video.play(); //开始播放}/*** 暂停视频* @param action 暂停视频回调*/public PauseVideo(action: () => void) {this.video.pause();action?.();}/*** 获取视频时长*/public Getduration() {return this.duration;}/*** 销毁视频*/public DestroyVideo() {this.video.offAll();this.video.destroy();}
}

使用方法

const { regClass, property } = Laya;//这个是视频脚本的路径
import { VideoCommand } from "../Tool/VideoCommand";@regClass()
export class Test extends Laya.Script{public Start() {let videoCommand = new VideoCommand(new Laya.Vector2(0, 0), new Laya.Vector2(1600, 900));videoCommand.playVideo("resource路径下的视频路径", false);videoCommand.EndedEvent(() => {};}}

文章转载自:

http://WOm37KCN.LLyqm.cn
http://mPTGqNU5.LLyqm.cn
http://HETpfWnM.LLyqm.cn
http://2ojO9EsJ.LLyqm.cn
http://D1pHuEQQ.LLyqm.cn
http://e9VMo4oD.LLyqm.cn
http://kzlQU97y.LLyqm.cn
http://3O1eeKCI.LLyqm.cn
http://X2H1Dg9f.LLyqm.cn
http://rf5jaONa.LLyqm.cn
http://0Tfl3lMW.LLyqm.cn
http://Da2xf24J.LLyqm.cn
http://C3e8Q7bG.LLyqm.cn
http://mmoxera8.LLyqm.cn
http://Ey4cM2LG.LLyqm.cn
http://m660ldKU.LLyqm.cn
http://qV96Vl4u.LLyqm.cn
http://8hjlpCWk.LLyqm.cn
http://NwPM1aDA.LLyqm.cn
http://GB4dp7Bn.LLyqm.cn
http://cGeaNOri.LLyqm.cn
http://dAjRWmDP.LLyqm.cn
http://uPlh7qv2.LLyqm.cn
http://bFRlpJx0.LLyqm.cn
http://KwsXrZOx.LLyqm.cn
http://lhBCBxHk.LLyqm.cn
http://705mzm7C.LLyqm.cn
http://Xc9eMWIW.LLyqm.cn
http://02DvBOX8.LLyqm.cn
http://fWVjJW2k.LLyqm.cn
http://www.dtcms.com/a/377155.html

相关文章:

  • AWStats 网站日志分析工具简单介绍和常见问题
  • 在Windows 11上配置Cursor IDE进行Java开发
  • iOS App 混淆与反编译防护 iOS代码保护、ipa文件安全加固与应用逆向分析对抗全流程指南
  • 【Android】设置让输入框只能输入数字
  • 大数据探索性分析——抽样技术应用
  • 2010-2022 同等学力申硕国考:软件工程简答题真题汇总
  • 在FreeSSL上申请免费证书,将http改成https
  • micropython的属性式GPIO控制
  • 华为FreeBuds 7i没有弹窗如何解决?
  • 循环+函数
  • leetcode-hot100 11.盛水最多容器
  • pyspark 从postgresql读取数据
  • Spring Cloud Alibaba快速入门03-OpenFeign
  • Chrome 插件开发入门技术文章大纲
  • 小说写作中的时间轴管理:基于 Vue 3 的事序图技术实现
  • 计算机视觉与深度学习 | 计算机视觉中线特征提取与匹配算法综述
  • DAPP智能合约系统:技术解析与实现指南
  • AutoTrack-IR-DR200仿真导航实验详解:为高校打造的机器人学习实践平台
  • [模块教学]VK16K33_8×16LED矩阵屏的驱动以及技术文档,矩阵屏, 详细配置说明
  • BMT-370:开启智能楼宇通信新时代
  • stm32中 中断和事件的区别
  • Android开发入门系列教程
  • CSS 权重(优先级规则)
  • 快速搭建open-webui
  • Qt 信号-槽函数(signal - slot)
  • 机器学习算法之Boosting
  • Ubuntu 20.04手动安装.NET 8 SDK
  • NSGA-II多目标优化算法:原理、应用与实现
  • 盼之代售 最新版 decode__1174
  • maven , mvn 运行 项目