public void SetAudioType(
TargetAudioType audioType
)
Public Sub SetAudioType( _
ByVal audioType As TargetAudioType _
)
public:
void SetAudioType(
TargetAudioType^ audioType
)
audioType
Reference to a TargetAudioType Object containing the audio type attributes to set for the target format object.
If the method fails, an error is raised. For more information, refer to the Error Codes.
using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void AudioTypesExample()
{
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
try
{
// set an audio device first, you should use your audio device name here
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// reference the target formats collection
TargetFormats formats = capturectrl.TargetFormats;
// reference the target format object
TargetFormat tf = formats[TargetFormatType.WMV];
// reference the target audio formats object
TargetAudioFormats taformats = tf.AudioFormats;
// check the index using a name string
int i = taformats.IndexOf("{00000161-0000-0010-8000-00AA00389B71}");// Windows Media Audio (WMA)
// get target audio format object
TargetAudioFormat taf = taformats[i];
// make sure the target audio format object's name equals {00000161-0000-0010-8000-00AA00389B71}
if (taf.Name == "{00000161-0000-0010-8000-00AA00389B71}")
{
// get target audio format friendly name, use it for view propose.
string friendlyname = taf.FriendlyName;
}
else
throw new Exception();
// select it
taf.Selected = true;
// get target audio types collection
TargetAudioTypes targetaudiotypes = taf.AudioTypes;
// if target audio types larger than 0, loop through all of them
if (targetaudiotypes.Count > 0)
{
// enumerate through the list of audio types
// demonstrating the target audio types properties
foreach (TargetAudioType targetaudiotype in targetaudiotypes)
{
// get name of the target type.
string name = targetaudiotype.Name;
// get friendly name of the target type.
string friendlyname = targetaudiotype.FriendlyName;
// set the audio type into the target format if:
// AudioAvgBytesPerSecond == 24000 (192 kbps)
// AudioBitsPerSample == 16
// AudioNumChannels == 2 (stereo)
// AudioSamplesPerSecond == 44100 Hz
if (targetaudiotype.AudioAvgBytesPerSecond == 24000 &&
targetaudiotype.AudioBitsPerSample == 16 &&
targetaudiotype.AudioNumChannels == 2 &&
targetaudiotype.AudioSamplesPerSecond == 44100)
{
tf.SetAudioType(targetaudiotype);
break;
}
}
}
// check if we have can capture video and audio
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
// 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();
}
_result = true;
}
catch (Exception)
{
_result = false;
}
}
Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As New CaptureCtrlForm()
Public Sub AudioTypesExample()
' reference the capture control
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
Try
' set an audio device first, you should use your audio device name here
If capturectrl.AudioDevices("USB") Is Nothing Then
Throw New Exception("No USB audio device available")
End If
capturectrl.AudioDevices("USB").Selected = True
' reference the target formats collection
Dim formats As TargetFormats = capturectrl.TargetFormats
' reference the target format object
Dim tf As TargetFormat = formats(TargetFormatType.WMV)
' reference the target audio formats object
Dim taformats As TargetAudioFormats = tf.AudioFormats
' check the index using a name string
Dim i As Integer = taformats.IndexOf("{00000161-0000-0010-8000-00AA00389B71}") ' Windows Media Audio (WMA)
' get target audio format object
Dim taf As TargetAudioFormat = taformats(i)
' make sure the target audio format object's name equals {00000161-0000-0010-8000-00AA00389B71}
If taf.Name = "{00000161-0000-0010-8000-00AA00389B71}" Then
' get target audio format friendly name, use it for view propose.
Dim friendlyname As String = taf.FriendlyName
Else
Throw New Exception()
End If
' select it
taf.Selected = True
' get target audio types collection
Dim targetaudiotypes As TargetAudioTypes = taf.AudioTypes
' if target audio types larger than 0, loop through all of them
If targetaudiotypes.Count > 0 Then
' enumerate through the list of audio types
' demonstrating the target audio types properties
For Each targetaudiotype As TargetAudioType In targetaudiotypes
' get name of the target type.
Dim name As String = targetaudiotype.Name
' get friendly name of the target type.
Dim friendlyname As String = targetaudiotype.FriendlyName
' set the audio type into the target format if:
' AudioAvgBytesPerSecond == 24000 (192 kbps)
' AudioBitsPerSample == 16
' AudioNumChannels == 2 (stereo)
' AudioSamplesPerSecond == 44100 Hz
If targetaudiotype.AudioAvgBytesPerSecond = 24000 AndAlso
targetaudiotype.AudioBitsPerSample = 16 AndAlso
targetaudiotype.AudioNumChannels = 2 AndAlso
targetaudiotype.AudioSamplesPerSecond = 44100 Then
tf.SetAudioType(targetaudiotype)
Exit For
End If
Next
End If
' check if we have can capture video and audio
If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
' 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()
End While
End If
_result = True
Catch generatedExceptionName As Exception
_result = False
End Try
End Sub
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document