2013-06-18 15 views
8

Windows Phone 8'de belirli bir çözünürlükte (spesifik, 480x480 olmak üzere) MP4 video çekmeye çalışıyorum. Ön ayarlardan başka boyut kullanamadığımı biliyorum ve 480x480 bir ön ayar değil. Yakalanan bir videoyu (640x480 gibi) nasıl dönüştürürüm ve üst ve alt kısımları 480x480 yapmak için nasıl kırpırım? Herhangi bir ücretsiz veya açık kaynak kitaplığı (Windows Phone'da çalışan) açıktır. Lütfen 'harici bir sunucu kullan' gibi cevaplarla yanıt vermeyin, cihaz üzerinde bir çözüme ihtiyacım var.Standart olmayan boyutta video kaydetme (veya kayıttan sonra dönüştürme) Windows Phone 8'de

cevap

1

Kullanım Windows.Phone.Media.Capture API'leri ve AudioVideoCaptureDevice.OpenAsync için AudioVideoCaptureDevice sınıf

İkinci parametre - this link bakınız - çözünürlük. Ve AudioVideoCaptureDevice.GetAvailableCaptureResolutions (sensör)

DÜZENLEME kullanarak çözünürlükleri alabilirsiniz: özel kararları deneyin ayarlamak için AudioVideoCaptureDevice.SetCaptureResolutionAsync

DÜZENLEME 2: kaydedilen videoyu dönüştürmek için aşağıdaki gibi bir şey deneyebilirsiniz: (burada bulamıyorum i yazar kelimelerin yetmediği kodu!)

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(); 
+0

'AudioVideoCaptureDevice.GetAvailableCaptureResolutions (sensör)' ben değil 192x144) – CAMOBAP

+0

düzenlemeleri görün gerekiyor ve SetCaptureResolutionAsync –

+0

zaten kullanmak kullanarak bakmak Derece için (istenilen çözünürlüğü değil içeriyor var 'GetAvailableCa ptureResolutions (CameraSensorLocation.Back) .Last() 've 640x480 döndürür, ancak 192x144'e ihtiyacım var – CAMOBAP