捕获的条纹照片

我正在使用MediaCapture类与Windows Phone 8.1 Runtime拍照。 我拍照的代码看起来像这样:

// create a file StorageFile photoFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("myFirstPhoto.jpg", CreationCollisionOption.ReplaceExisting); // take a photo with choosen Encoding await captureManager.CapturePhotoToStorageFileAsync(ImageEncodingProperties.CreateJpeg(), photoFile); 

代码工作得很好,因为我得到了一张照片,但左右两侧有奇怪的条纹:

在此处输入图像描述

我正试图找到解决这个问题的方法,但没有成功。 我错过了什么吗?

编辑 – 从内置应用程序拍摄的照片没有条纹,所以这似乎不是硬件的问题。

好吧我自己已经弄清楚了 – 这是使用MediaCapture时设置为默认值的分辨率问题。 如果在初始化MediaCapture之后设置最大分辨率,那么将没有条纹:

 // just after initialization var maxResolution = captureManager.VideoDeviceController.GetAvailableMediaStreamProperties(MediaStreamType.Photo).Aggregate( (i1, i2) => (i1 as VideoEncodingProperties).Width > (i2 as VideoEncodingProperties).Width ? i1 : i2); await captureManager.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.Photo, maxResolution); 

我尝试使用最低分辨率获得相同的条纹。 从MS Advance Camera样本中,他们使用MediaCapture进行预览,但SilverLight API用于捕获!

每次调用CapturePhotoToXXX API时,MediaCapture都会出现内存泄漏问题。

我想知道他们是否已经知道MediaCapture在WindowsPhone 8.1上管理不当,这就是为什么他们不提供带有RT API的Camera MediaCapture样本的原因。