Search code examples
c#windows-8windows-runtimewindows-store-appswinrt-xaml

How to get camera feeds in Windows 8 Metro style app?


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?


Solution

  • 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.