diff -r 4d9ebc6fbbe8 -r 43bb1b8ed555 client/src/Iri.Modernisation.Controls/ViewModel/WebCamControl/WebCamControlVM.cs --- a/client/src/Iri.Modernisation.Controls/ViewModel/WebCamControl/WebCamControlVM.cs Tue Jan 19 09:49:56 2010 +0100 +++ b/client/src/Iri.Modernisation.Controls/ViewModel/WebCamControl/WebCamControlVM.cs Mon Jan 25 09:30:22 2010 +0100 @@ -15,11 +15,53 @@ { - + private CaptureSource _captureSource {get;set;} + public CaptureSource CaptureSource + { + get + { + return _captureSource; + } + set + { + _captureSource = value; + OnPropertyChanged("CaputreSource"); + } + } public WebCamControlVM() { - - + Commands.WebCamControl.CamRecordLanch.Executed += new EventHandler(CamRecordLanch_Executed); + Commands.WebCamControl.CamRecordStop.Executed += new EventHandler(CamRecordStop_Executed); + Commands.WebCamControl.CamRecordEnd.Executed += new EventHandler(CamRecordEnd_Executed); + Commands.WebCamControl.CamRecordBegin.Executed += new EventHandler(CamRecordBegin_Executed); + + CaptureSource = new CaptureSource() + { + VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice(), + AudioCaptureDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice() + }; + } + void CamRecordStop_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + _captureSource.Stop(); + } + + void CamRecordEnd_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + + } + + void CamRecordLanch_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess()) + { + _captureSource.Start(); + } + } + + void CamRecordBegin_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + } } }