升级了3.3.0也有这样都问题, 就是全屏切换, 我修改了下我这里都H5都部分, 不过我上视频全屏播放都, 暂时解决问题, 供大家参考
private setH5Elements(): void {
if(document && document.getElementsByTagName('video').length) {
const videoList = document.getElementsByTagName('video')
for (let i = 0; i < videoList.length; i++) {
const video = videoList[i];
if (video.classList.contains('cocosVideo')) {
video.setAttribute('webkit-playsinline', 'true');
video.setAttribute('playsinline', 'true');
}
}
}
view.setResizeCallback(() => {
this.reSizeVideo()
})
this.reSizeVideo()
}
private reSizeVideo(): void {
const c = view.getCanvasSize()
const v = view.getVisibleSizeInPixel()
const d = view.getDesignResolutionSize() // 设计分辨率 : 1334, 750
// $g.log('view.getCanvasSize 视图中 canvas 的尺寸 : ', c)
// $g.log('view.getFrameSize 视图中边框尺寸 : ', view.getFrameSize())
// $g.log('view.getVisibleSizeInPixel 视图窗口可见区域像素尺寸 : ', v)
if (document && document.getElementsByTagName('video').length) {
const videoList = document.getElementsByTagName('video')
for (let i = 0; i < videoList.length; i++) {
const video = videoList[i];
if (video.classList.contains('cocosVideo')) {
// transform: matrix(0.5, 0, 0, 0.5, 0, 0);
if (screen.fullScreen()) {
// 重新设置高度
video.style.bottom = ((c.height - v.height) / 2) + 'px'
// 全屏设置 transform
const m = `matrix(${v.width / d.width}, 0, 0, ${v.width / d.width}, 0, 0)`
video.style.transform = m
video.style['-webkit-transform'] = m
video.style.width = `${d.width}px`
// $g.log('全屏设置 transform : ', video.style.transform)
} else {
video.style.bottom = '0px'
}
}
}
}
}