Windows 8 (JavaScript):具有相同网络摄像头源的多个<视频>标签:可能

Windows 8 (JavaScript): Multiple <video> tags with same webcam source: Possible?

本文关键字:可能 视频 标签 摄像头 JavaScript 网络 Windows      更新时间:2023-09-26

>我正在使用JavaScript开发一个地铁应用程序,并尝试同时显示来自网络摄像头的两个视频(其中一个最终将应用过滤器)。 但是,每当我尝试将它们都设置为使用网络摄像头作为源时,我都会收到错误,,,, 有没有好办法来处理这种情况?

谢谢!

编辑:这是一些代码:

(Javascript)

var mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();
var captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
//...set properties of captureInitSettings...

mediaCaptureMgr.initializeAsync(captureInitSettings).then(function (result) {
            var video1 = id("Video1"); //function to get html element with id
            video1.src = URL.createObjectURL(mediaCaptureMgr, false); //does not matter if false is switched to true
            var video2 = id("Video2");
            video2.src = video1.src;//could also use var x = URL.create... then set video1.src/video2.src = x; still won't work.
        },
    errorHandler);

(网页)

<video id="Video1" autoplay></video>
<video id="Video2" autoplay></video>

我可以通过单击事件或加载事件触发 JS - 没关系 - 只有 Video1 获取网络摄像头视频。 视频 2 不起作用。 思潮?

谢谢!

最近在 Chrome 中以类似的方式使用 getUserMedia 玩了一些东西,我想知道 Metro 中的画布是否可以接受您的第二次视频播放,因为您打算无论如何都要进行过滤,似乎无论如何您都可能不得不走这条路?

也就是说,我对Metro javascript环境一无所知,但是看看您的示例并知道如何在支持的浏览器中执行此操作:

var video1 = id("Video1");
var canvas = id('canvas');
var context = canvas.getContext('2d');
context.drawImage(video1, 0, 0);

当然,这只有在您为每一帧视频绘制该图像时才有效,如果有一些模拟window.requestAnimationFrame,那将是轻而易举的。