LEADTOOLS Multimedia (Leadtools.MediaFoundation assembly)

AudioNumChannels Property (TargetAudioType)

Show in webframe
Example 



Gets the channels number of the audio stream of the target audio type.
Syntax
'Declaration
 
Public ReadOnly Property AudioNumChannels As Integer
'Usage
 
Dim instance As TargetAudioType
Dim value As Integer
 
value = instance.AudioNumChannels
public int AudioNumChannels {get;}
public:
property int AudioNumChannels {
   int get();
}

Property Value

A value representing the audio number of channels.
Remarks
Gets the channels number of the audio stream of the target audio type.
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

TargetAudioType Class
TargetAudioType Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

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