StreamMediaType Property

Summary
Gets the media type of the current stream in the source media file.
Syntax
C#
C++/CLI
public MediaType StreamMediaType { get; } 
public: 
property MediaType^ StreamMediaType { 
   MediaType^ get(); 
} 

Property Value

A MediaType object representing the media type of the current media stream.

Remarks

This property is updated automatically when the CurrentStream property is set. To change the current stream, set the CurrentStream property to the new value. Once the current stream has been set, other MediaInfo properties are updated with information about the current stream.

Example
C#
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
 
public PlayCtrlForm _form = new PlayCtrlForm(); 
public bool _result = false; 
 
public void ResetSourceExample() 
{ 
   // reference the play control 
   PlayCtrl playctrl = _form.PlayCtrl; 
 
   // input file 
   string inWmvFile = Path.Combine(LEAD_VARS.MediaDir, "MediaInfo_Source.wmv"); 
   string inAviFile = Path.Combine(LEAD_VARS.MediaDir, "MediaInfo_Source.avi"); 
             
   try 
   { 
      // create a new media info object 
      MediaInfo mi = new MediaInfo(); 
 
      // get MP3 info 
      mi.SourceFile = inWmvFile; 
 
      // set the info string with general media information 
      Console.WriteLine("General Info"); 
      Console.WriteLine("Title: " + mi.Title); 
      Console.WriteLine("Author: " + mi.Author); 
      Console.WriteLine("Description: " + mi.Description); 
      Console.WriteLine("Rating: " + mi.Rating); 
      Console.WriteLine("Copyright: " + mi.Copyright); 
      Console.WriteLine(); 
 
      // reset the source 
      mi.ResetSource(); 
 
      // get AVI info 
      mi.SourceFile = inAviFile; 
 
      Console.WriteLine("General Info"); 
      Console.WriteLine("File: " + mi.SourceFile); 
      Console.WriteLine("File Size: " + mi.SourceFileSize); 
      Console.WriteLine("Format: " + mi.SourceFormat + "(" + mi.SourceFormatName + ")"); 
      Console.WriteLine("Duration: " + mi.SourceDuration); 
      Console.WriteLine("Real Bit-rate: " + mi.SourceBitRate); 
      Console.WriteLine("Format Type: " + mi.SourceMediaType.FormatType); 
      Console.WriteLine(); 
 
      Console.WriteLine("Source Filter Info"); 
                
      var s = mi.SourceFilter; 
      IntPtr ptr = Marshal.GetIUnknownForObject(s); 
      Console.WriteLine(string.Format("Address of Object Pointer: 0x{0:X}", ptr.ToInt64())); 
 
      Console.WriteLine("ClassID: " + mi.SourceFilterClassID); 
      Console.WriteLine("Name: " + mi.SourceFilterName); 
 
      Console.WriteLine("Streams Info"); 
      for ( int streamIndex = 0; streamIndex < mi.OutputStreams; streamIndex++ ) 
      { 
         mi.CurrentStream = streamIndex; 
         Console.WriteLine("Stream Index: " + streamIndex); 
         Console.WriteLine("Type: " + mi.StreamType + "(" + mi.StreamTypeName); 
         Console.WriteLine("Subtype: " + mi.StreamSubtype + "(" + mi.StreamSubtypeName); 
         Console.WriteLine("Format Type: " + mi.StreamMediaType.FormatType); 
 
         if (mi.StreamTypeName == "Video") 
         { 
            Console.WriteLine("Width: " + mi.VideoWidth + " pixels"); 
            Console.WriteLine("Height: " + mi.VideoHeight + " pixels"); 
            Console.WriteLine("Bit Count: " + mi.VideoBitCount + " bits per pixel"); 
            Console.WriteLine("Frame Count: " + mi.VideoFrames); 
            Console.WriteLine("Frame Rate: " + mi.VideoFrameRate + "frames per second"); 
            Console.WriteLine("Compression: " + mi.VideoCompression); 
            Console.WriteLine("Bit-rate: " + mi.VideoBitRate + "kbps"); 
            Console.WriteLine("Duration: " + mi.StreamDuration + "seconds"); 
            Console.WriteLine(); 
         } 
         else if (mi.StreamTypeName == "Audio") 
         { 
            Console.WriteLine("Format Tag: " + mi.AudioFormatTag); 
            Console.WriteLine("Channels: " + mi.AudioChannels); 
            Console.WriteLine("Frequency: " + mi.AudioSamplesPerSec + " samples per second"); 
            Console.WriteLine("Sample Size: " + mi.AudioBitsPerSample + " bits per sample"); 
            Console.WriteLine("Average Rate: " + mi.AudioAvgBytesPerSec + "bytes per second"); 
            Console.WriteLine("Duration: " + mi.StreamDuration + "seconds"); 
            Console.WriteLine(); 
         } 
      } 
 
      // media info outputted to console, set result to true 
      _result = true; 
 
      // reset the source 
      mi.ResetSource(); 
 
      // set the result to what we expect 
      _result = (mi.SourceFile == null); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

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

Leadtools.Multimedia Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.