HTML5-视频不会阻止Blob URL的屏幕待机

时间:2018-07-05 05:59:36

标签: html5-video data-uri bloburls

我有一个带有Blob URL来源的视频标签,它实际上是相机的视频流。问题是,尽管视频仍在播放,但设备将进入待机模式并关闭屏幕。

我尝试了数据URL,它们可以正常工作并防止设备进入睡眠状态。

我想知道为什么存在这种差异?解决该问题的最佳方法是什么?我宁愿避免在页面上添加其他视频,以防止出现这种意外行为,否则我将使用NoSleep.js

我还应该注意,我正在使用的库tracking.js仅将视频作为Blob URL提供。我曾尝试阅读Blob网址,但这没有用。如果您知道好的解决方案,请告诉我。

更新

看着tracking.js code,我发现它只是在使用getUserMedia函数来获取用户的摄像机流。 getUserMedia返回MediaStrim。我尝试创建对象URL并将视频的src设置为它(1),然后直接将流与srcObject一起使用(2),但这两种方法均无效。我可以得出结论,将srcObject设置为LocalMediaStream也不会阻止屏幕休眠。

window.navigator.getUserMedia({
  video: !0,
  audio: 0
}, function (n) {
    $('#video')[0].src = window.URL.createObjectURL(n); // 1
    $('#video')[0].srcObject = n; // 2
}, function () {
  throw Error('Cannot capture user camera.')
});

0 个答案:

没有答案