locked
How to capture video with front camera in windows phone Using c# RRS feed

  • Question

  • I am working on windows phone app, in which i required to capture video using front camera . I am able to capture video using back camera but couldn't find how to capture video with front camera using c#. Kindly give me an idea that how can i achieve my task. Thanks in Advance.

    public partial class Movies : PhoneApplicationPage
        {
            
            VideoBrush myvideobrush;      //for capturing video.
            CaptureSource myvideosource;  //source for capturing video.
            VideoCaptureDevice mydevice;  //device for capturing video.
            FileSink myfilesink;          //for storing the video.
            private string isoVideoFileName = "CameraMovie.mp4";
            private IsolatedStorageFileStream isoVideoFile;
            
    
            public Movies()
            {
    
                InitializeComponent();
                if (myvideosource == null)
                {
                    myvideosource = new CaptureSource();
                    myfilesink = new FileSink();
                    mydevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
                   
                    //System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Media.VideoCaptureDevice> supportedcams = CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();
                    //mydevice = supportedcams.ElementAt(0);
                }
                if (mydevice != null)
                {
                    myvideobrush = new VideoBrush();
    
                    myvideobrush.SetSource(myvideosource);
                    viewFinderRectangle.Fill = myvideobrush;
                    stop_btn.IsEnabled = false;
                    myvideosource.Start();
                }
    
            }
            public void startReccording()
            {
                start_btn.IsEnabled = false;
                stop_btn.IsEnabled = true;
    
    
                if (myvideosource.VideoCaptureDevice != null && myvideosource.State == CaptureState.Started)
                {
                    myvideosource.Stop();
                    myfilesink.CaptureSource = myvideosource;
                    myfilesink.IsolatedStorageFileName = isoVideoFileName;
                }
                if (myvideosource.VideoCaptureDevice != null && myvideosource.State == CaptureState.Stopped)
                {
    
                    myvideosource.Start();
                }
            }
            public void stopRecording()
            {
    
    
                if (myvideosource.VideoCaptureDevice != null && myvideosource.State == CaptureState.Started)
                {
                    myvideosource.Stop();
    
                    myfilesink.CaptureSource = null;
                    myfilesink.IsolatedStorageFileName = null;
                    videoPriview();
                }
    
    
    
            }
            public void videoPriview()
            {
    
                if (isoVideoFile != null)
                {
                    videoPlayer.Play();
                }
                else
                {
                    myvideosource.Stop();
                    viewFinderRectangle.Fill = null;
                    isoVideoFile = new IsolatedStorageFileStream(isoVideoFileName, FileMode.Open, FileAccess.Read, IsolatedStorageFile.GetUserStoreForApplication());
                    videoPlayer.SetSource(isoVideoFile);
                    videoPlayer.Play();
                }
                start_btn.IsEnabled = true;
                stop_btn.IsEnabled = false;
    
            }
    
    
            private void movies_goback_btn_Click(object sender, RoutedEventArgs e)
            {
                NavigationService.GoBack();
            }
    
            private void start_btn_Click(object sender, RoutedEventArgs e)
            {
                startReccording();
            }
    
            private void stop_btn_Click(object sender, RoutedEventArgs e)
            {
                stopRecording();
            }
        }

    Monday, January 12, 2015 7:24 AM

Answers