我想将 div 类显示为 PiP(画中画)。我用谷歌搜索了很多,但只是如何在视频中启用,而不是自定义 div。
在我的环境中,可以使用js、CSS和HTML。我想使用 PiP 的 div 会逐秒更改。
我想将 div 类显示为 PiP(画中画)。我用谷歌搜索了很多,但只是如何在视频中启用,而不是自定义 div。
在我的环境中,可以使用js、CSS和HTML。我想使用 PiP 的 div 会逐秒更改。
不,画中画仅适用于 <video>。
您可以做的是在 <video> 中流式传输 <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>