public int AudioNumChannels {get;}
public:
property int AudioNumChannels {
int get();
}
A value representing the audio number of channels.
Gets the channels number of the audio stream of the target audio type.
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 * 8 / 1000 == 192 &&
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;
}
}
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