检查视频是否为图片模式图片

我想知道在有人进入画中画模式后,视频是否处于画中画模式。他们可以通过单击X按钮以PIP模式关闭视频,我想使用递归功能检查视频的状态,看看何时关闭它,并更改某些元素的类。像这样的东西

if(video.isInPipMode){
someRecursiveFunction();
}

无论如何,是否有任何属性可以检查视频的状态,并查看视频是否仍处于PIP模式,请提前致谢/

回答如下:

您可以检查pictureInPictureElement的文档,以查看在PiP模式下是否有当前视频。它要么返回当前处于画中画模式的元素,否则返回null

if (document.pictureInPictureElement !== null) {
  someRecursiveFunction();
}

或在视频进入或离开画中画模式时将事件附加到视频上以进行收听。

let pipActive = false;

video.addEventListener('enterpictureinpicture', () => {
  pipActive = true;
});

video.addEventListener('leavepictureinpicture', () => {
  pipActive = false;
});