Leadtools.MediaFoundation Namespace > Renderer Class : FriendlyName Property |
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _result As Boolean = False Public _form As New CaptureCtrlForm() Public _capturectrl As CaptureCtrl Public Sub AudioRenderersExample() ' output file Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_AudioRenderersExample.avi") ' reference the capture control _capturectrl = _form.CaptureCtrl 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 ' set the target file _capturectrl.TargetFile = outFile ' reference the audio renderers collection Dim ar As AudioRenderers = _capturectrl.AudioRenderers ' get the current selection Dim currSelection As Integer = ar.Selection ' loop through the capture control's registered audio renderers For Each r As Renderer In ar ' select by renderer friendly name If r.FriendlyName = "Default DirectSound Device" AndAlso Not r Is ar(currSelection) Then ' select it r.Selected = True Exit For End If ' select by renderer name (device name) If r.Name = "@device:cm:{E0F158E1-CB04-11D0-BD4E-00A0C911CE86}\Default DirectSound Device" _ AndAlso Not r Is ar(currSelection) Then ' select it r.Selected = True Exit For End If Next ' check the new selection Dim newSelection As Integer = ar.Selection ' set the result to what we expect _result = (currSelection <> newSelection) ' set the started event handler AddHandler _capturectrl.Started, AddressOf CaptureCtrl_Started ' run the capture _capturectrl.StartCapture(CaptureMode.Video) Catch generatedExceptionName 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. While _capturectrl.State = CaptureState.Running Application.DoEvents() End While End Sub Public Sub CaptureCtrl_Started(ByVal sender As Object, ByVal e As EventArgs) ' stop the capture _capturectrl.StopCapture() End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media" End Class
using Leadtools; using Leadtools.MediaFoundation; using LeadtoolsMediaFoundationExamples.Fixtures; public bool _result = false; public CaptureCtrlForm _form = new CaptureCtrlForm(); public CaptureCtrl _capturectrl; public void AudioRenderersExample() { // output file string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_AudioRenderersExample.avi"); // reference the capture control _capturectrl = _form.CaptureCtrl; 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; // set the target file _capturectrl.TargetFile = outFile; // reference the audio renderers collection AudioRenderers ar = _capturectrl.AudioRenderers; // get the current selection int currSelection = ar.Selection; // loop through the capture control's registered audio renderers foreach (Renderer r in ar) { // select by renderer friendly name if (r.FriendlyName == "Default DirectSound Device" && r != ar[currSelection]) { // select it r.Selected = true; break; } // select by renderer name (device name) if (r.Name == @"@device:cm:{E0F158E1-CB04-11D0-BD4E-00A0C911CE86}\Default DirectSound Device" && r != ar[currSelection]) { // select it r.Selected = true; break; } } // check the new selection int newSelection = ar.Selection; // set the result to what we expect _result = (currSelection != newSelection); // set the started event handler _capturectrl.Started += new EventHandler(CaptureCtrl_Started); // run the capture _capturectrl.StartCapture(CaptureMode.Video); } 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(); } public void CaptureCtrl_Started(object sender, EventArgs e) { // stop the capture _capturectrl.StopCapture(); } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }