LMNetSrc Namespace > ILMNetSrc Interface : CheckConnection Method |
Value | Meaning |
---|---|
0 | Do not negotiate the user name and password. |
NetSrc_CC_ForceConnection | Negotiate the user name and password. |
'Declaration <DispIdAttribute(1)> Sub CheckConnection( _ ByVal URL As String, _ ByVal Flags As Integer, _ ByVal Timeout As Integer _ )
Value | Meaning |
---|---|
0 | Do not negotiate the user name and password. |
NetSrc_CC_ForceConnection | Negotiate the user name and password. |
S_OK if the function was successful.
<>S_OK if an error occurred. Refer to the Error Codes or the HRESULT error codes in the DirectShow documentation.
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures Public _result As Boolean = False Public _serverAndClient As CaptureAndPlayCtrlForm = New CaptureAndPlayCtrlForm() Private _msgSent As Boolean = False Private _captureCtrl As CaptureCtrl Private _playCtrl As PlayCtrl Private Const _networkUrl As String = "ltsf://127.0.0.1:27015" ' network stream url Private Const _testMessage As String = "LEAD NETWORK" Public Sub NetworkSourceExample() ' reference the capture control _captureCtrl = _serverAndClient.CaptureCtrl ' reference the play control _playCtrl = _serverAndClient.PlayCtrl Try ' try to find a video camera If _captureCtrl.VideoDevices("Logitech") Is Nothing Then Throw New Exception("No Logitech video device available") End If _captureCtrl.VideoDevices("Logitech").Selected = True ' select a video compressor _captureCtrl.VideoCompressors.Mpeg4.Selected = True ' set the target output file _captureCtrl.TargetFormat = TargetFormatType.NET _captureCtrl.TargetFile = _networkUrl If _captureCtrl.IsModeAvailable(CaptureMode.Video) Then ' just 10 seconds of capture time _captureCtrl.TimeLimit = 10 _captureCtrl.UseTimeLimit = True _captureCtrl.FrameRate = 30 _captureCtrl.UseFrameRate = True _captureCtrl.Preview = True ' subscribe to the started and progress events for this example ' we will connect a client after the capture starts AddHandler _captureCtrl.Started, AddressOf CaptureCtrl_Started ' ready the capture graph in order to get the LNMetMux instance _captureCtrl.ReadyCapture(CaptureMode.Video) ' start capture _captureCtrl.StartCapture(CaptureMode.Video) ' 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 OrElse _playCtrl.State = PlayState.Running Application.DoEvents() Loop End If Catch e1 As Exception _result = False End Try End Sub Private Sub CaptureCtrl_Started(ByVal sender As Object, ByVal e As EventArgs) StartClient() End Sub Private Sub StartClient() Try Dim netSrc As LMNetSrc = New LMNetSrc() netSrc.CheckConnection(_networkUrl, 0, 5000) _result = True Marshal.ReleaseComObject(netSrc) Catch cex As COMException ' could not connect _result = False Return End Try ' connects the client player _playCtrl.SourceFile = _networkUrl End Sub
using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; public bool _result = false; public CaptureAndPlayCtrlForm _serverAndClient = new CaptureAndPlayCtrlForm(); CaptureCtrl _captureCtrl; PlayCtrl _playCtrl; const string _networkUrl = @"ltsf://127.0.0.1:27015"; // network stream url const string _testMessage = "LEAD NETWORK"; public void NetworkSourceExample() { // reference the capture control _captureCtrl = _serverAndClient.CaptureCtrl; // reference the play control _playCtrl = _serverAndClient.PlayCtrl; try { // try to find a video camera if (_captureCtrl.VideoDevices["Logitech"] == null) throw new Exception("No Logitech video device available"); _captureCtrl.VideoDevices["Logitech"].Selected = true; // select a video compressor _captureCtrl.VideoCompressors.Mpeg4.Selected = true; // set the target output file _captureCtrl.TargetFormat = TargetFormatType.NET; _captureCtrl.TargetFile = _networkUrl; if (_captureCtrl.IsModeAvailable(CaptureMode.Video)) { // just 10 seconds of capture time _captureCtrl.TimeLimit = 10; _captureCtrl.UseTimeLimit = true; _captureCtrl.FrameRate = 30; _captureCtrl.UseFrameRate = true; _captureCtrl.Preview = true; // subscribe to the started and progress events for this example // we will connect a client after the capture starts _captureCtrl.Started += new EventHandler(CaptureCtrl_Started); // ready the capture graph in order to get the LNMetMux instance _captureCtrl.ReadyCapture(CaptureMode.Video); // start capture _captureCtrl.StartCapture(CaptureMode.Video); // 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 || _playCtrl.State == PlayState.Running) { Application.DoEvents(); } } } catch (Exception) { _result = false; } } void CaptureCtrl_Started(object sender, EventArgs e) { StartClient(); } private void StartClient() { try { LMNetSrc netSrc = new LMNetSrc(); netSrc.CheckConnection(_networkUrl, 0, 5000); _result = true; Marshal.ReleaseComObject(netSrc); } catch (COMException) { // could not connect _result = false; return; } // connects the client player _playCtrl.SourceFile = _networkUrl; }