Windows 8 如何使用MediaCapture类在windows 8中显示两个摄像头的预览

Windows 8 如何使用MediaCapture类在windows 8中显示两个摄像头的预览,windows-8,Windows 8,我希望能够使用MediaCapture类显示几个摄像头设备的预览。 目前,我使用包含设备id的MediaCaptureInitializationSettings对象初始化MediaCapture。设置对象仅接收1个VideoDeviceId,因此我无法为同一MediaCapture对象设置多个视频源。我尝试的另一件事是创建几个MediaCapture对象,每个设备一个。但是,看起来最后一个初始化的设备是获得设备访问权限的设备,因此即使有多个媒体设备(每个设备都与不同的设备关联),也只允许其中一

我希望能够使用MediaCapture类显示几个摄像头设备的预览。 目前,我使用包含设备id的MediaCaptureInitializationSettings对象初始化MediaCapture。设置对象仅接收1个VideoDeviceId,因此我无法为同一MediaCapture对象设置多个视频源。我尝试的另一件事是创建几个MediaCapture对象,每个设备一个。但是,看起来最后一个初始化的设备是获得设备访问权限的设备,因此即使有多个媒体设备(每个设备都与不同的设备关联),也只允许其中一个设备的视频显示为预览

下面是代码,以便您更好地理解

async private void PreviewDevice(string deviceId)
{
    var mediaCapture = new MediaCapture();
    var mediaCaptureSettings = new MediaCaptureInitializationSettings
    {
        VideoDeviceId = deviceId
    };
    await mediaCapture.InitializeAsync(mediaCaptureSettings);
    var previewElement = new CaptureElement
    {
        Source = mediaCapture
    };
    CamerasDisplayGrid.Children.Add(previewElement);
    await mediaCapture.StartPreviewAsync();
}
我想要实现的是在屏幕上同时预览几个摄像头


请给我一些建议。提前谢谢你

我也遇到了同样的问题,下面是我所做的:

  • 创建画布对象
  • 在画布对象中插入我想要的尽可能多的捕获元素
  • 列举
    DeviceInformation.findalsync(DeviceClass.VideoCapture)中可用的所有摄像头
  • 将我找到的每个摄影机id与捕获元素关联
  • 部署

  • 但是,当我从vs 11开始运行应用程序时,它只显示一个活动的摄像头,但当我从“开始”菜单运行应用程序时,它会显示我拥有的所有摄像头。

    我也遇到了同样的问题,下面是我所做的:

  • 创建画布对象
  • 在画布对象中插入我想要的尽可能多的捕获元素
  • 列举
    DeviceInformation.findalsync(DeviceClass.VideoCapture)中可用的所有摄像头
  • 将我找到的每个摄影机id与捕获元素关联
  • 部署

  • 但是,当我从vs 11开始运行应用程序时,它只显示一个活动的摄像头,但当我从“开始”菜单运行应用程序时,它会显示我拥有的所有摄像头。

    也许此链接可以帮助:

    从应用程序的角度来看,这在理论上是可能的,但也存在硬件限制


    也许这个链接可以帮助:

    从应用程序的角度来看,这在理论上是可能的,但也存在硬件限制


    奇怪的我在笔记本电脑上工作。它在表面上不起作用。所以我猜这是硬件限制SWP8.1设备在初始化2个摄像头时也会被冻结、重新启动和所有其他奇怪的东西。我在笔记本电脑上工作。它在表面上不起作用。所以我猜这是硬件限制SWP8.1设备在初始化2个摄像头时也会被冻结、重新启动和所有其他奇怪的东西是的,确实如此。它在装有多个摄像头的笔记本电脑上运行良好,但在表面,它会被冻结。是的,确实如此。它可以在装有多个摄像头的笔记本电脑上正常工作,但在表面,它会被冻结。