我想将div类显示为PiP(画中画(。我在谷歌上搜索了很多,但只搜索了如何在视频中启用,而不是自定义的div.
在我的环境中,可以使用js、CSS和HTML。我想使用PiP的div会一秒一秒地变化。
没有PiP可用于<仅视频>。
不过,您可以做的是流式传输<canvas>在<视频>并在那里使用PiP
您现在可以在此<canvas>,甚至可以再现HTML内容。
const target = document.getElementById('target');
const source = document.createElement('canvas');
const ctx = source.getContext('2d');
ctx.font = "50px Arial";
ctx.textAlign = "center";
ctx.textBaseline = "middle";
anim();
const stream = source.captureStream();
target.srcObject = stream;
const btn = document.getElementById('btn');
if( target.requestPictureInPicture ) {
btn.onclick = e => target.requestPictureInPicture();
}
else {
btn.disabled = true;
}
function anim() {
ctx.fillStyle = "white";
ctx.fillRect( 0, 0, source.width, source.height );
ctx.fillStyle = "black";
ctx.fillText( new Date().toTimeString().split(' ')[0], source.width / 2, source.height / 2 );
requestAnimationFrame( anim );
}
<video id="target" controls muted autoplay></video>
<button id="btn">request PiP</button>