-3

I have developed the Camera application by using the PhotoCaptureDevice in the Windows Phone 8. I am able to run this application in the Nokia 820. But i don't have 920 device to test this app. But one of my user says that , this app does not run in Nokia 920 device. The VideoBrush that is supposed to show the camera viewfinder is blank. Can you please any one help me on this ?. If possible can you please test this in 920 device.

Exact code snippet that i use in the InitializeCamera

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); }

        }
4

2 に答える 2

1

私はあなたのコードをプロジェクトに投稿し、Lumia 920 で問題なく動作しました。コードの別の部分にこれがあるかどうかはわかりませんが、追加した唯一のことは、"_device = d;」ライン:

                   ViewfinderBrush.SetSource(_device);

次のような XAML を使用します。

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

注意すべきことの 1 つは、SetSource は、デバイスが初期化された後 (つまり、OpenAsync の後) でなければならないということです。前に設定すると、機能しません。

于 2013-01-16T22:24:25.167 に答える
0

HTC8X を手に入れたか、私がお手伝いします。Nokia に貸し出し用の 920 をリクエストしてみませんか? http://blog.dvlup.com/2012/11/20/three-ways-dvlup-can-get-you-a-developer-handset/ . 2週間ほどお預かりできます。

于 2013-01-09T02:39:27.960 に答える