Windows 8 metro应用程序在2个摄像头之间切换

时间:2012-08-16 07:19:18

标签: c# windows-8 microsoft-metro

我正在使用MediaCapture类进行相机视图。但我有一个问题,它只支持平板电脑的前置摄像头,我想通过点击一个按钮在前后摄像头之间切换。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

Sajid,

来自Win8开发人员中心的此示例代码将向您展示如何通过连接到当前计算机的摄像头设备进行枚举:http://code.msdn.microsoft.com/windowsapps/Media-Capture-Sample-adf87622

这是另一个更具体地处理DeviceEnumeration的示例:http://code.msdn.microsoft.com/windowsapps/Device-Enumeration-Sample-a6e45169

相关代码(来自第一个链接):

private async void EnumerateWebcamsAsync()
    {
        try
        {
            ShowStatusMessage("Enumerating Webcams...");
            m_devInfoCollection = null;

            EnumedDeviceList2.Items.Clear();

            m_devInfoCollection = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);
            if (m_devInfoCollection.Count == 0)
            {
                ShowStatusMessage("No WebCams found.");
            }
            else
            {
                for (int i = 0; i < m_devInfoCollection.Count; i++)
                {
                    var devInfo = m_devInfoCollection[i];
                    EnumedDeviceList2.Items.Add(devInfo.Name);
                }
                EnumedDeviceList2.SelectedIndex = 0;
                ShowStatusMessage("Enumerating Webcams completed successfully.");
                btnStartDevice2.IsEnabled = true;
            }
        }
        catch (Exception e)
        {
            ShowExceptionMessage(e);
        }
    }

编辑:此代码取自我发布的第一个代码示例中的AdvancedCapture.xaml.cs文件。