2014-09-10 4 views
2

Я пытаюсь захватить изображения непосредственно с камеры в моем приложении Windows Phone 8.1 Store.Windows Phone 8.1 приложение MediaCapture под открытым небом

Мне удалось инициализировать устройство MediaCapture, и оно фотографирует, но оно всегда черным или способом под открытым небом.

Может ли кто-нибудь указать мне, как я могу заставить камеру автоматически разоблачить и, если возможно, вызвать фокус, так как я получаю катастрофический сбой, когда звоню photoManager.VideoDeviceController.FocusControl.FocusAsync()?

ответ

5

Для автофокусировки я использую этот код:

mediaCapture = new MediaCapture(); 
var settings = new MediaCaptureInitializationSettings(); 
settings.StreamingCaptureMode = StreamingCaptureMode.Video; 
settings.PhotoCaptureSource = PhotoCaptureSource.VideoPreview; 

await mediaCapture.InitializeAsync(settings); 

var focusSettings = new FocusSettings(); 
focusSettings.AutoFocusRange = AutoFocusRange.FullRange; 
focusSettings.Mode = FocusMode.Auto; 
focusSettings.WaitForFocus = true; 
focusSettings.DisableDriverFallback = false; 

mediaCapture.VideoDeviceController.FocusControl.Configure(focusSettings); 

экспозицию, попробуйте следующее:

await mediaCapture.VideoDeviceController.ExposureControl.SetAutoAsync(true); 
+0

Спасибо за отзыв фокусировки. Это отлично работает, но все равно не удастся с автоэкспозицией. – Richard

+0

Как-то я не могу найти ни FocusSettings, ни FocusControl.Configure() в Wp 8.1 unified. –

+0

Вы создаете приложение Universal (WinRT)? Они должны присутствовать в пространстве имен Windows.Media.Devices. – Jogy

Смежные вопросы