resolucion dela como cambiar camara camera windows-phone-8 windows-phone resolution video-recording

camera - dela - cambiar resolucion camara iphone



Cómo cambiar la resolución de la cámara mientras se graba video en WP8 (4)

Estoy usando la muestra de grabación de video proporcionada por microsoft aquí . Quiero cambiar la resolución del video que se está grabando en mi aplicación. Actualmente está grabando en la resolución más alta por defecto. ¿Cómo hacer eso?

videoCaptureDevice.DesiredFormat = new VideoFormat(PixelFormatType.Unknown, 480, 640, 30);

La declaración anterior arroja una Excepción de argumento.

Además, si es posible, hágamelo saber cómo capturar desde la cámara frontal?

¿Cómo lograr esto? Por favor ayuda.


El segundo parámetro para AudioVideoCaptureDevice.OpenAsync es la resolución. Y puede obtener las resoluciones usando AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensor) .


La solución es (con mi conocimiento)

VideoCaptureDevice webcam = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice(); int videoformatcount = webcam.SupportedFormats.Count(); //We will get the avilable video format if (videoformatcount > 0) { var Temp = webcam.SupportedFormats; VideoFormat objVideoFormat = Temp[videoformatcount - 1]; webcam.DesiredFormat = new VideoFormat(PixelFormatType.Format8bppGrayscale, objVideoFormat.PixelWidth, objVideoFormat.PixelHeight, 1); } captureSource.VideoCaptureDevice = webcam;

Esto producirá el video de resolución más baja


Use AudioVideoCaptureDevice para recodificar video

StorageFolder isoStore = await ApplicationData.Current.LocalFolder.GetFolderAsync("Shared"); var file = await isoStore.CreateFileAsync("foos1.wmv", CreationCollisionOption.ReplaceExisting); using (var s = await file.OpenAsync(FileAccessMode.ReadWrite)) { Windows.Foundation.Size resolution = new Windows.Foundation.Size(640, 480); avDevice = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(CameraSensorLocation.Back).Last()); VideoBrush videoRecorderBrush = new VideoBrush(); videoRecorderBrush.SetSource(avDevice); viewfinderRectangle.Fill = videoRecorderBrush; await avDevice.StartRecordingToStreamAsync(s); Thread.Sleep(30000); await avDevice.StopRecordingAsync(); } new MediaPlayerLauncher() { Media = new Uri(file.Path, UriKind.Relative), }.Show();


Puedes probar este.

private AudioVideoCaptureDevice VideoRecordingDevice; private Windows.Foundation.Size resolution = new Windows.Foundation.Size(320, 240); VideoRecordingDevice = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, resolution);

NB: Recuerde que solo se puede usar para la versión wp8 o posterior.