C# 诺基亚920中的Windows Phone 8照相/摄像设备
我使用WindowsPhone8中的PhotoCaptureDevice开发了摄像头应用程序。我能够在诺基亚820中运行此应用程序。但我没有920设备来测试这个应用。但我的一位用户说,该应用程序不在诺基亚920设备上运行。用来显示相机取景器的视频刷是空白的。你能请任何人帮我一下吗?。如果可能的话,请在920设备上测试 我在InitializeCamera中使用的确切代码段C# 诺基亚920中的Windows Phone 8照相/摄像设备,c#,xaml,camera,windows-phone-8,C#,Xaml,Camera,Windows Phone 8,我使用WindowsPhone8中的PhotoCaptureDevice开发了摄像头应用程序。我能够在诺基亚820中运行此应用程序。但我没有920设备来测试这个应用。但我的一位用户说,该应用程序不在诺基亚920设备上运行。用来显示相机取景器的视频刷是空白的。你能请任何人帮我一下吗?。如果可能的话,请在920设备上测试 我在InitializeCamera中使用的确切代码段 private static async Task 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); }
}
有一个HTC8X,否则我会帮你的。
你为什么不直接向诺基亚申请贷款920呢。您可以保留它大约两周。我将您的代码发布到一个项目中,它在我的Lumia 920上运行良好。我不确定您是否在代码的另一部分中有这个,但我另外做的唯一一件事是在“_device=d;”行之后添加这个: 使用如下XAML:
<Rectangle x:Name="Viewfinder">
<Rectangle.Fill>
<VideoBrush x:Name="ViewfinderBrush" />
</Rectangle.Fill>
</Rectangle>
需要注意的一点是,SetSource必须在设备初始化之后(即,在OpenAsync之后)。如果你之前设置过,它将不起作用
<Rectangle x:Name="Viewfinder">
<Rectangle.Fill>
<VideoBrush x:Name="ViewfinderBrush" />
</Rectangle.Fill>
</Rectangle>