LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
GetMediaType Method
See Also 
Leadtools.Multimedia Namespace > WMStreamConfig Class : GetMediaType Method



Gets the media type of the stream in the form of a MediaType object.

Syntax

Visual Basic (Declaration) 
Public Function GetMediaType() As MediaType
Visual Basic (Usage)Copy Code
Dim instance As WMStreamConfig
Dim value As MediaType
 
value = instance.GetMediaType()
C# 
public MediaType GetMediaType()
C++/CLI 
public:
MediaType^ GetMediaType(); 

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As CaptureCtrlForm = New CaptureCtrlForm()
      Public Sub StreamTypeExample()
         ' reference the capture control
         Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
         Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi")

         Try
            ' reference the profile if available
            Dim CurrentProfile As WMProfile = capturectrl.WMProfile

            ' if we have a profile display the info
            If Not CurrentProfile Is Nothing Then
               MessageBox.Show(GetStreamInfo(CurrentProfile), "Stream Info", MessageBoxButtons.OK)
            End If
         Catch e1 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.
         Do While capturectrl.State = CaptureState.Running
            Application.DoEvents()
         Loop
      End Sub

      ' discovering streams 
      Private Function GetStreamInfo(ByVal Profile As WMProfile) As String
         Dim streamConfig As WMStreamConfig
         Dim streamInfo As String = String.Empty

         ' show all the information regarding the streams
         Dim i As Integer = 0
         Do While i < Profile.StreamCount - 1
            streamConfig = Profile.GetStream(0)
            streamInfo &= "[[ Stream " & (i + 1).ToString() & " ]]"

            ' get the major type of the stream
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " type: " & streamConfig.StreamType

            ' get Stream number
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " number: " & streamConfig.StreamNumber.ToString()

            ' get Stream name
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " name: " & streamConfig.StreamName

            ' get connection name
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " connection name: " & streamConfig.ConnectionName

            ' get Bitrate
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " bitrate: " & streamConfig.Bitrate.ToString()

            ' get the maximum latency (time in milliseconds) between stream reception and display
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " buffer window: " & streamConfig.BufferWindow.ToString()

            ' get the major type of the media in the stream
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " majortype: " & streamConfig.Type

            ' get the maximum key frame time interval (in 100-nano seconds) 
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " max keyframe spacing: " & streamConfig.MaxKeyFrameSpacing.ToString()

            ' get the Quality, range from 0 to 100
            ' where zero denotes maximum frame rate and 100 denotes maximum quality. 
            streamInfo &= Microsoft.VisualBasic.Constants.vbLf & " stream quality: "

            If streamConfig.Quality > -1 Then
               streamInfo &= streamConfig.Quality.ToString()
            Else
               streamInfo &= "(unknown)"
            End If
            i += 1
         Loop

         Return streamInfo
      End Function

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public CaptureCtrlForm _form = new CaptureCtrlForm();
      public void StreamTypeExample()
      {
         // reference the capture control
         CaptureCtrl capturectrl = _form.CaptureCtrl;
         string inFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_Source.avi");

         try
         {
            // reference the profile if available
            WMProfile CurrentProfile = capturectrl.WMProfile;

            // if we have a profile display the info
            if (CurrentProfile != null)
               MessageBox.Show(GetStreamInfo(CurrentProfile), "Stream Info", MessageBoxButtons.OK);
         }
         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();
      }

      // discovering streams 
      private string GetStreamInfo(WMProfile Profile)
      {
         WMStreamConfig streamConfig;
         string streamInfo = string.Empty;

         // show all the information regarding the streams
         for (int i = 0; i < Profile.StreamCount -1; i++)
         {
            streamConfig = Profile.GetStream(0);
            streamInfo += "[[ Stream " + (i + 1).ToString() + " ]]";

            // get the major type of the stream
            streamInfo += "\n type: " + streamConfig.StreamType;

            // get Stream number
            streamInfo += "\n number: " + streamConfig.StreamNumber.ToString();

            // get Stream name
            streamInfo += "\n name: " + streamConfig.StreamName;

            // get connection name
            streamInfo += "\n connection name: " + streamConfig.ConnectionName;

            // get Bitrate
            streamInfo += "\n bitrate: " + streamConfig.Bitrate.ToString();

            // get the maximum latency (time in milliseconds) between stream reception and display
            streamInfo += "\n buffer window: " + streamConfig.BufferWindow.ToString();

            // get the major type of the media in the stream
            streamInfo += "\n majortype: " + streamConfig.Type;

            // get the maximum key frame time interval (in 100-nano seconds) 
            streamInfo += "\n max keyframe spacing: " + streamConfig.MaxKeyFrameSpacing.ToString();

            // get the Quality, range from 0 to 100
            // where zero denotes maximum frame rate and 100 denotes maximum quality. 
            streamInfo += "\n stream quality: ";

            if (streamConfig.Quality > -1)
               streamInfo += streamConfig.Quality.ToString();
            else
               streamInfo += "(unknown)";
         }

         return streamInfo;
      }

static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
}

Remarks

For more information, refer to the Microsoft documentation for IWMMediaProps.GetMediaType.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also