我们正在开发一种网络工具来记录用户屏幕和网络摄像头的视频。
有些人录制超过一小时的大型视频。通过使用文件系统访问 API(在 Windows 上的 Chrome 和 Edge 中),我们希望将录制的视频备份到主机文件系统中的文件,以防浏览器或 PC 崩溃。除了关闭 WritableStream ( )
时的一个副作用之外,所有这些都按预期工作。WritableStream.close()
关闭 Stream 时,光标会很快将系统范围更改为窗口“在后台工作”光标。
有谁知道是否有任何解决方案可以防止 Chrome/Edge/Chromium 更改光标?因为我们正在记录用户的屏幕,所以每隔几秒更改一次光标是不可接受的。
示例代码:
<body>
<button onclick="selectDirectory()">Select Directory for Backup</button>
<script>
async function selectDirectory() {
const dirHandle = await window.showDirectoryPicker();
const fileHandle = await dirHandle.getFileHandle('backup.txt', { create: true });
setInterval(async () => {
const writable = await fileHandle.createWritable();
await writable.write("Test");
console.log('closing writeable...');
await writable.close(); // at this point the cursor changes
}, 1000);
}
</script>
</body>