Gets a CLSID string that indicates the major type of the stream.
public string StreamType { get; }
Public ReadOnly Property StreamType As String
public:
property String^ StreamType {
String^ get();
}
Valid values are as follows:
Type | String |
Video | MEDIATYPE_Video |
Autio | MEDIATYPE_Audio |
Script | MEDIATYPE_Text |
For a complete list of supported formats, see Format Types, Media Types and Media Subtypes. Please note that while the Formats, Media Types and Media Subtypes topic lists numerous media types, currently only the MediaType_Video, MediaType_Audio, and MediaType_Text are used here. For more information, refer to the Microsoft documentation for IWMStreamConfig.GetStreamType.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
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 19\Media";
}
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
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 19\Media"
End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET