I am trying to get camera feeds in Windows 8 metro style app so that i can make some changes on it something like augmented reality. I have tried but only able to find how to capture images using CameraCaptureUI(). Can anyone tell me how can i achieve camera feeds for AR?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
All you need to do is pass in CameraCaptureUIMode.Video for CaptureFileAsync. Here is a sample
CameraCaptureUI dialog = new CameraCaptureUI();
dialog.VideoSettings.Format = CameraCaptureUIVideoFormat.Mp4;
StorageFile file = null;
file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Video);
if (file != null)
{
IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
//Do something with the stream
}
EDIT:
In order to apply effects you can use the AddEffectAsync method, for example.
mediaCaptureMgr.AddEffectAsync(MediaStreamType.VideoPreview, "Microsoft.Samples.GrayscaleEffect", null);
The Microsoft Foundation Transform (MFT) implementation of the GrayScaleEffect is [here]. 1. That example should allow you to create your own effects.
回答2:
I blogged about it before.
You need to use a CaptureElement and a MediaCapture object:
var mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();
this.captureElement.Source = mediaCapture;
await mediaCapture.StartPreviewAsync();