Registers the current graph and runs the DirectShow GraphEdit utility.
Syntax
Visual Basic (Declaration) | |
---|
Public Overridable Sub EditGraph() |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As CaptureCtrl
instance.EditGraph() |
C# | |
---|
public virtual void EditGraph() |
C++/CLI | |
---|
public:
virtual void EditGraph(); |
Example
Visual Basic | Copy Code |
---|
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _capturectrl As CaptureCtrl
Public Sub EditGraphExample()
' reference the capture control
_capturectrl = _form.CaptureCtrl
' output file names
Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_EditGraphExample.mpg")
Try
' set the source video device, select using your device name here
If _capturectrl.VideoDevices("USB") Is Nothing Then
Throw New Exception("No USB video device available")
End If
_capturectrl.VideoDevices("USB").Selected = True
' select a video compressor
_capturectrl.VideoCompressors.Mpeg4.Selected = True
' set the target file
_capturectrl.TargetFile = outFile
' register the graph for GraphEdit
' you should see a message box that says the graph is registered
' once this message displays you can open GraphEdit and Connect to Remote Graph
_capturectrl.EditGraph()
' set the started event handler
AddHandler _capturectrl.Started, AddressOf CaptureCtrl_Started
' run the capture
_capturectrl.StartCapture(CaptureMode.Video)
' set the result
_result = True
Catch e1 As Exception
_result = False
End Try
' 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.
Do While _capturectrl.State = CaptureState.Running
Application.DoEvents()
Loop
End Sub
Private Sub CaptureCtrl_Started(ByVal sender As Object, ByVal e As EventArgs)
' stop the capture (we don't need a complete capture for this example)
_capturectrl.StopCapture()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class |
C# | Copy Code |
---|
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public CaptureCtrl _capturectrl;
public void EditGraphExample()
{
// reference the capture control
_capturectrl = _form.CaptureCtrl;
// output file names
string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_EditGraphExample.mpg");
try
{
// set the source video device, select using your device name here
if (_capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
_capturectrl.VideoDevices["USB"].Selected = true;
// select a video compressor
_capturectrl.VideoCompressors.Mpeg4.Selected = true;
// set the target file
_capturectrl.TargetFile = outFile;
// register the graph for GraphEdit
// you should see a message box that says the graph is registered
// once this message displays you can open GraphEdit and Connect to Remote Graph
_capturectrl.EditGraph();
// set the started event handler
_capturectrl.Started += new EventHandler(CaptureCtrl_Started);
// run the capture
_capturectrl.StartCapture(CaptureMode.Video);
// set the result
_result = true;
}
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();
}
void CaptureCtrl_Started(object sender, EventArgs e)
{
// stop the capture (we don't need a complete capture for this example)
_capturectrl.StopCapture();
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also