Leadtools.Multimedia Namespace > WMStreamConfig Class : SetMediaType Method |
'Usage Dim instance As WMStreamConfig Dim MediaType As MediaType instance.SetMediaType(MediaType)
function Leadtools.Multimedia.WMStreamConfig.SetMediaType( MediaType )
public: void SetMediaType( MediaType^ MediaType )
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 175\Media"; End Class
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 175\Media"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2