【问题标题】:Windows Phone 8 camera - PhotoCaptureDevice in Nokia - 920Windows Phone 8 相机 - 诺基亚照片捕捉设备 - 920
【发布时间】:2012-12-09 09:55:06
【问题描述】:

我使用 Windows Phone 8 中的 PhotoCaptureDevice 开发了相机应用程序。我可以在诺基亚 820 中运行此应用程序。但我没有 920 设备来测试此应用程序。但是我的一位用户说,这个应用程序不能在诺基亚 920 设备上运行。应该显示相机取景器的 VideoBrush 是空白的。你能请任何人帮助我吗?如果可能,请您在 920 设备上进行测试。

我在 InitializeCamera 中使用的确切代码 sn-p

private static async Task InitializeCamera()
        {
            PhotoCaptureDevice d = null;

            try
            {
                Windows.Foundation.Size initialResolution = new Windows.Foundation.Size(640, 480);
                Windows.Foundation.Size previewResolution = new Windows.Foundation.Size(640, 480);
                Windows.Foundation.Size captureResolution = new Windows.Foundation.Size(640, 480);


                if (PhotoCaptureDevice.AvailableSensorLocations.Contains(CameraSensorLocation.Back))
                {
                    d = await PhotoCaptureDevice.OpenAsync(CameraSensorLocation.Back, initialResolution);

                    await d.SetPreviewResolutionAsync(previewResolution);
                    await d.SetCaptureResolutionAsync(captureResolution);

                    d.SetProperty(KnownCameraGeneralProperties.EncodeWithOrientation,
                                  d.SensorLocation == CameraSensorLocation.Back ?
                                  d.SensorRotationInDegrees : -d.SensorRotationInDegrees);
                    _device = d;
                }
            }
            catch (Exception e) { Debug.WriteLine(e.Message); }

        }

【问题讨论】:

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


    【解决方案1】:

    我将您的代码发布到一个项目中,它在我的 Lumia 920 上运行良好。我不确定您是否在代码的另一部分中有此代码,但我唯一做的就是在“_device = d;”行:

                       ViewfinderBrush.SetSource(_device);
    

    像这样使用 XAML:

            <Rectangle x:Name="Viewfinder">
                <Rectangle.Fill>
                    <VideoBrush x:Name="ViewfinderBrush"  />
                </Rectangle.Fill>
            </Rectangle>
    

    需要注意的一点是SetSource 必须在Device 初始化之后(即OpenAsync 之后)。如果你之前设置过,那就不行了。

    【讨论】:

      【解决方案2】:

      有一个 HTC8X 或者我会帮助你。 你为什么不直接向诺基亚请求借用 920? http://blog.dvlup.com/2012/11/20/three-ways-dvlup-can-get-you-a-developer-handset/ 。您可以保留大约两周。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多