Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _result As Boolean = False
Public Sub AudioFormatExample()
Try
Dim count As Integer, freq As Integer = 0, bits As Integer = 0, channels As Integer = 0
Dim found As Integer, selected As Integer = -1
' reference the capture control
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
' set an audio device, use the name of your device here
If capturectrl.AudioDevices("USB") Is Nothing Then
Throw New Exception("No USB audio device available")
End If
capturectrl.AudioDevices("USB").Selected = True
' get count of available audio formats
count = capturectrl.AudioCaptureFormats.Count
' reset the current selection to -1
capturectrl.AudioCaptureFormats.Reset()
' reference the audioformats property
Dim audioformats As AudioFormats = capturectrl.AudioCaptureFormats
' enumerate formats and select one
For Each af As AudioFormat In audioformats
freq = af.SampleFrequency
bits = af.BitsPerSample
channels = af.Channels
' select the format if it matches some criteria
If freq = 8000 AndAlso bits = 16 AndAlso channels = 2 Then
af.Selected = True
Exit For
End If
Next af
' get the currently selected format
selected = audioformats.Selection
' find a format based on frequency, bits/channel and number of channels
found = audioformats.IndexOf(8000, 8, 2)
' our found format is not selected, so select it
If found <> selected Then
audioformats.Selection = found
End If
' get the new selected format
selected = audioformats.Selection
' set our result based on what we expect
_result = (count > 0 AndAlso selected = found)
Catch e1 As Exception
_result = False
End Try
End Sub
using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public bool _result = false;
public void AudioFormatExample()
{
try
{
int count, freq = 0, bits = 0, channels = 0;
int found, selected = -1;
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
// set an audio device, use the name of your device here
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// get count of available audio formats
count = capturectrl.AudioCaptureFormats.Count;
// reset the current selection to -1
capturectrl.AudioCaptureFormats.Reset();
// reference the audioformats property
AudioFormats audioformats = capturectrl.AudioCaptureFormats;
// enumerate formats and select one
foreach (AudioFormat af in audioformats)
{
freq = af.SampleFrequency;
bits = af.BitsPerSample;
channels = af.Channels;
// select the format if it matches some criteria
if (freq == 8000 && bits == 16 && channels == 2)
{
af.Selected = true;
break;
}
}
// get the currently selected format
selected = audioformats.Selection;
// find a format based on frequency, bits/channel and number of channels
found = audioformats.IndexOf(8000, 8, 2);
// our found format is not selected, so select it
if (found != selected)
audioformats.Selection = found;
// get the new selected format
selected = audioformats.Selection;
// set our result based on what we expect
_result = (count > 0 && selected == found);
}
catch (Exception)
{
_result = false;
}
}