SetAudioType Method

Summary
Sets the audio type of the target format object.
Syntax
C#
VB
C++
public void SetAudioType( 
   TargetAudioType audioType 
) 
Public Sub SetAudioType( _ 
   ByVal audioType As TargetAudioType _ 
)  
public: 
void SetAudioType(  
   TargetAudioType^ audioType 
)  

Parameters

audioType
Reference to a TargetAudioType Object containing the audio type attributes to set for the target format object.

Remarks

If the method fails, an error is raised. For more information, refer to the Error Codes.

Example
C#
VB
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 
Requirements

Target Platforms

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.