我使用microsoft here提供的視頻錄製樣本。我想更改我的應用程序中錄製的視頻的分辨率。目前它默認錄製的分辨率最高。如何做?如何在WP8中錄製視頻時更改攝像頭的分辨率
videoCaptureDevice.DesiredFormat = new VideoFormat(PixelFormatType.Unknown, 480, 640, 30);
上述語句拋出參數異常。
另外,如果可能讓我知道如何從前置攝像頭捕捉?
如何實現這一目標?請幫忙。
我使用microsoft here提供的視頻錄製樣本。我想更改我的應用程序中錄製的視頻的分辨率。目前它默認錄製的分辨率最高。如何做?如何在WP8中錄製視頻時更改攝像頭的分辨率
videoCaptureDevice.DesiredFormat = new VideoFormat(PixelFormatType.Unknown, 480, 640, 30);
上述語句拋出參數異常。
另外,如果可能讓我知道如何從前置攝像頭捕捉?
如何實現這一目標?請幫忙。
AudioVideoCaptureDevice.OpenAsync
的第二個參數是分辨率。您可以使用AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensor)
獲得分辨率。
解決方案是(憑藉我所知)
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;
這將產生最低分辨率視頻
您是否知道爲什麼在前置攝像頭中攝像機饋送旋轉了180度? –
對不起!我不知道,你可以徹底查看這些鏈接,可能會幫助你[鏈接](http://www.mindscapehq.com/blog/index.php/2012/02/28/windows -phone-7-working-with-camera-tasks /)[鏈接](http://msdn.microsoft.com/en-us/magazine/hh708750.aspx) – Vicky
沒問題,你可以發佈鏈接嗎? –
使用AudioVideoCaptureDevice到recoed視頻
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();
你可以試試這一個。
private AudioVideoCaptureDevice VideoRecordingDevice;
private Windows.Foundation.Size resolution = new Windows.Foundation.Size(320, 240);
VideoRecordingDevice = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, resolution);
注意:請記住,它只能用於wp8或更高版本。
你知道爲什麼在前置攝像頭中攝像機饋送是180度旋轉? –
相機始終以橫向拍攝。 –
嘿克勞斯,我意識到AudioVideoCaptureDevice可能是在WP8錄製視頻的最佳解決方案,但我無法找到任何樣本或幫助。我已經發布了類似的問題http://stackoverflow.com/questions/17898769/how-to-record-video-using-audiovideocpturedevice-in-wp8。你能幫我嗎?提前致謝。 –