使用egret 绘制视频
视频必须点击触发后才能 代码控制暂停和继续播放
index.html代码
<video id="P1video"
preload="auto" poster="" style="display: none;"
playsinline="true" webkit-playsinline="true"
x5-video-player-type="h5" x-video-player-fullscreen="true" x-webkit-airplay="true"
src="https://show.malukeji.com/h5/2021/202110/yangsen/p1.mp4"></video>
//egret 的渲染模式<renderMode> 使用canvas 使用webgl会报错
TS代码
private video: HTMLVideoElement;
public btn: eui.Button;
public video_img: eui.Image;
private init() {
this.video = <HTMLVideoElement>document.getElementById('P1video')
//视频文件的宽度和高度
this.video.width = 556;
this.video.height = 1080;
this.video_img.visible = false;
var bitmp = new egret.BitmapData(this.video)
bitmp.$deleteSource = false;
let texture = new egret.Texture();
texture.bitmapData = bitmp;
this.video_img.source = texture;
this.btn.addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
this.null_sound.play(0)
this.bg_SoundChannel = this.bg_sound.play(0, -1)
this.video.play()
this.btn.visible = false;
this.video_img.visible = true;
setTimeout(() => {
this.video.pause()
this.addEventListener(egret.TouchEvent.TOUCH_BEGIN, () => {
this.video.play()
}, this)
this.addEventListener(egret.TouchEvent.TOUCH_END, () => {
this.video.pause()
}, this)
}, 300);
//视频结束事件
this.video.addEventListener('ended', () => {
//视频结束后要做的
})
}, this)
}