Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction | Help Version 19.0.2.9
|
Leadtools.MediaFoundation Namespace > TargetAudioType Class : AudioAvgBytesPerSecond Property |
public int AudioAvgBytesPerSecond {get;}
'Declaration
Public ReadOnly Property AudioAvgBytesPerSecond As Integer
'Usage
Dim instance As TargetAudioType Dim value As Integer value = instance.AudioAvgBytesPerSecond
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; } }