[LayaAir 2.0]Laya 使用VideoTexture播放视频
最近因需要在Laya上播放视频,看了下帖子,都说是要使用
Laya.Browser.createElement("video")
创建html元素来播放视频,这样做和Laya引擎的结合太差,可定制性也很大,关键时有时候需要对视频界面做一些动画效果时就很麻烦,
于是就看看其他引擎的做法。首先看到Unity上的MovieTexture,然后想到了使用纹理贴图来播放;然后就搜索到three.js上有一个通过html的VideoElement来实现MovieTexture的项目。查看源码,发现是使用了gl.texImage2D这个webgl接口,百度一下之后:
最后一个参数支持HTMLVideoElement对象,于是就想看看Laya又没有封装这个接口,全局搜索之后果然有这个接口:loadImageSource
于是就尝试了一下,果然是可以的,但是Laya好像没有提供更新Texture的接口,只能自己手动调用定时器来更新。下方有Demo,欢迎评论和指正~
Laya.Browser.createElement("video")
创建html元素来播放视频,这样做和Laya引擎的结合太差,可定制性也很大,关键时有时候需要对视频界面做一些动画效果时就很麻烦,
于是就看看其他引擎的做法。首先看到Unity上的MovieTexture,然后想到了使用纹理贴图来播放;然后就搜索到three.js上有一个通过html的VideoElement来实现MovieTexture的项目。查看源码,发现是使用了gl.texImage2D这个webgl接口,百度一下之后:
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, HTMLVideoElement source);
最后一个参数支持HTMLVideoElement对象,于是就想看看Laya又没有封装这个接口,全局搜索之后果然有这个接口:loadImageSource
于是就尝试了一下,果然是可以的,但是Laya好像没有提供更新Texture的接口,只能自己手动调用定时器来更新。下方有Demo,欢迎评论和指正~
没有找到相关结果
已邀请:
要回复问题请先登录
6 个回复
hfxxxxxxhf
赞同来自:
181*****858
赞同来自:
181*****858
赞同来自:
181*****858
赞同来自:
Laya_XS
赞同来自:
厘米
赞同来自: