Available Property

Summary

Indicates whether the target format is available.

Syntax
C#
VB
C++
public bool Available {get;} 
Public ReadOnly Property Available() As Boolean 
   Get 
public:  
   property bool Available 
   { 
      bool get() 
   } 

Property Value

true indicates the target format is available; otherwise, false.

Remarks

Target format availability depends on the media sinks and multiplexers that are registered in your system. Microsoft Media Foundation components vary with the operating system version. Use this property to determine if the required components are installed.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(); 
 
public void TargetFormatsExample() 
{ 
   // reference the capture control 
   CaptureCtrl capturectrl = _form.CaptureCtrl; 
 
   try 
   { 
      // set the video capture device, use your capture device name here 
      if (capturectrl.VideoDevices["USB"] == null) 
         throw new Exception("No USB video device available"); 
 
      capturectrl.VideoDevices["USB"].Selected = true; 
 
      // set the audio capture device, use your capture device name here 
      if (capturectrl.AudioDevices["USB"] == null) 
         throw new Exception("No USB audio device available"); 
 
      capturectrl.AudioDevices["USB"].Selected = true; 
 
      // select the MP4 target format 
      capturectrl.TargetFormats[TargetFormatType.MP4].Selected = true; 
 
      // get the current selected format 
      int n = capturectrl.TargetFormats.Selection; 
 
      // loop through the target formats and set a different one 
      foreach (TargetFormat t in capturectrl.TargetFormats) 
      { 
         // get the format properties 
         string name = t.Name; 
         StreamFormatType sft = t.Streams; 
         bool available = t.Available; 
 
         // if we found the WMV format 
         if (name == "WMV") 
         { 
            // if it is available then select it 
            if (available) 
            { 
               t.Selected = true; 
            } 
            // exit loop 
            break; 
         } 
      } 
 
      // check it directly 
      TargetFormatType tft = capturectrl.TargetFormat; 
 
      // set the result to what we expect 
      _result = (tft != TargetFormatType.MP4 && n != capturectrl.TargetFormats.Selection); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
 
   // 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(); 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As New CaptureCtrlForm() 
 
Public Sub TargetFormatsExample() 
   ' reference the capture control 
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl 
 
   Try 
      ' set the video capture device, use your capture device name here 
      If capturectrl.VideoDevices("USB") Is Nothing Then 
         Throw New Exception("No USB video device available") 
      End If 
 
      capturectrl.VideoDevices("USB").Selected = True 
 
      ' set the audio capture device, use your capture 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 
 
      ' select the MP4 target format 
      capturectrl.TargetFormats(TargetFormatType.MP4).Selected = True 
 
      ' get the current selected format 
      Dim n As Integer = capturectrl.TargetFormats.Selection 
 
      ' loop through the target formats and set a different one 
      For Each t As TargetFormat In capturectrl.TargetFormats 
         ' get the format properties 
         Dim name As String = t.Name 
         Dim sft As StreamFormatType = t.Streams 
         Dim available As Boolean = t.Available 
 
 
         ' if we found the WMV format 
         If (name = "WMV") Then 
            ' if it is available then select it 
            If (available) Then 
               t.Selected = True 
            End If 
            ' exit loop 
            Exit For 
         End If 
      Next 
 
      ' check it directly 
      Dim tft As TargetFormatType = capturectrl.TargetFormat 
 
      ' set the result to what we expect 
      _result = (tft <> TargetFormatType.MP4 AndAlso n <> capturectrl.TargetFormats.Selection) 
   Catch generatedExceptionName As Exception 
      _result = False 
   End Try 
 
   ' 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 Sub 

Requirements

Target Platforms

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

Leadtools.MediaFoundation Assembly