GetSubObject Method (original) (raw)

Summary

Gets the specified graph sub-object.

Syntax

Parameters

objType
Value that specifies which graph sub-object to get. Must be one of the CaptureObject enumeration values.

Return Value

System.Object

Example

using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; public bool _result = false; public CaptureCtrlForm _form = new CaptureCtrlForm(); public void GetSubObjectExample() { // reference the capture control CaptureCtrl capturectrl = _form.CaptureCtrl; // input and output files string inFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi"); string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_GetSubObjectExample.avi"); try { // set the source video device if (capturectrl.VideoDevices["USB"] == null) throw new Exception("No USB video device available"); capturectrl.VideoDevices["USB"].Selected = true; // set the source audio device if (capturectrl.AudioDevices["USB"] == null) throw new Exception("No USB audio device available"); capturectrl.AudioDevices["USB"].Selected = true; // set the output files capturectrl.TargetFile = outFile; // set the audio and video compression capturectrl.VideoCompressors.Mpeg2.Selected = true; capturectrl.AudioCompressors.AC3.Selected = true; // add the color adjustment processor capturectrl.SelectedVideoProcessors.Add(capturectrl.VideoProcessors.Color); // access the Color filter directly via the GetSubObject method LMVColor lmvc = capturectrl.GetSubObject(CaptureObject.SelVideoProcessor) as LMVColor; if (lmvc != null) { // change some settings lmvc.Brightness = 85; lmvc.Contrast = 85; lmvc.Enabled = true; lmvc.EffectAreaEnabled = false; Marshal.ReleaseComObject(lmvc); } // check whether we can capture video if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio)) { capturectrl.FrameRate = 5; // 5 frames per second capturectrl.UseFrameRate = true; capturectrl.TimeLimit = 10; // just 10 seconds of capture time capturectrl.UseTimeLimit = true; // start the capture process capturectrl.StartCapture(CaptureMode.VideoAndAudio); // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (capturectrl.State == CaptureState.Running) Application.DoEvents(); } } catch (Exception) { _result = false; } // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (capturectrl.State == CaptureState.Running) Application.DoEvents(); _result = true; } static class LEAD_VARS { public const string MediaDir = @"C:\LEADTOOLS23\Media"; }