Error processing SSI file
LEADTOOLS Multimedia (Leadtools.MediaFoundation assembly)

Show in webframe

SetAudioType Method






Reference to a TargetAudioType Object containing the audio type attributes to set for the target format object.
Sets the audio type of the target format object.
Syntax
public void SetAudioType( 
   TargetAudioType audioType
)
'Declaration
 
Public Sub SetAudioType( _
   ByVal audioType As TargetAudioType _
) 
'Usage
 
Dim instance As TargetFormat
Dim audioType As TargetAudioType
 
instance.SetAudioType(audioType)
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
Copy Code  
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
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;
   }
}
Requirements

Target Platforms

See Also

Reference

TargetFormat Class
TargetFormat Members

Error processing SSI file
Leadtools.MediaFoundation requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features