在Windows Phone中同时显示前后摄像头的视频

时间:2013-07-23 16:48:23

标签: c# windows-phone-7 xaml windows-phone-8 camera

在我的应用中,我想在分屏视图中显示前后摄像头的视频:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>

    <Canvas>
        <Canvas.Background>
            <VideoBrush x:Name="backBrush" />
        </Canvas.Background>
    </Canvas>

    <Canvas Grid.Row="1">
        <Canvas.Background>
            <VideoBrush x:Name="frontBrush" />
        </Canvas.Background>
    </Canvas>

    <Ellipse Fill="Red" Height="80" Width="80" Grid.RowSpan="2" />

</Grid>

在我的C#代码中,我为两个摄像头设置了源代码:

PhotoCamera frontCam;
PhotoCamera backCam;

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        if (PhotoCamera.IsCameraTypeSupported(CameraType.FrontFacing))
        {                
            frontCam = new Microsoft.Devices.PhotoCamera(CameraType.FrontFacing);
            frontBrush.SetSource(frontCam);
        }

        if (PhotoCamera.IsCameraTypeSupported(CameraType.Primary))
        {                
            backCam = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
            backBrush.SetSource(backCam);
        }
    }

问题是,fronBrush.SetSource(frontCam);backBrush.SetSource(backCam);都被调用,但我只看到顶部后置摄像头的视频。当我更改这些命令的顺序时,我会看到来自另一台摄像机的视频。我试过HTC 8X和仿真器。

是某种约束,还是错误,或者我做错了什么?

1 个答案:

答案 0 :(得分:-1)

是的 - 我遇到了同样的问题。想做同样的事情。根据我的知识,不可能同时运行两个摄像头实例。如果您听到任何不同之处,请告诉我们!