Leadtools.Multimedia Namespace > ConvertCtrl Class : EstimateOutputSize Method |
'Declaration Public Overridable Function EstimateOutputSize( _ ByVal duration As Double _ ) As Double
'Usage Dim instance As ConvertCtrl Dim duration As Double Dim value As Double value = instance.EstimateOutputSize(duration)
function Leadtools.Multimedia.ConvertCtrl.EstimateOutputSize( duration )
Public _result As Boolean = False Public _form As ConvertCtrlForm = New ConvertCtrlForm() Public _convertctrl As ConvertCtrl Public _estBitRate As Integer = 0 Public _estFileSize As Double = 0.0 Public Sub EstimateExample() ' reference the convert control _convertctrl = _form.ConvertCtrl ' input and output files Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi") Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_EstimateOutputBitRateExample.avi") Try ' set the source video _convertctrl.SourceFile = inFile ' set video and audio compressors _convertctrl.VideoCompressors.H264.Selected = True _convertctrl.AudioCompressors.AC3.Selected = True ' subscribe to the progress event AddHandler _convertctrl.Progress, AddressOf ConvertCtrl_Progress ' set the capture target file _convertctrl.TargetFile = outFile ' set the capture mode to still and start _convertctrl.StartConvert() ' 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 _convertctrl.State = ConvertState.Running Application.DoEvents() Loop ' set the result to what we expect _result = (_estBitRate <> 0 AndAlso _estFileSize <> 0.0) Catch e1 As Exception _result = False End Try End Sub Private Sub ConvertCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs) ' get the bit rate estimate ' we will get called multiple times throughout the conversion process ' but for this example it is ok just to use the last received estimate _estBitRate = _convertctrl.EstimateOutputBitRate() ' get the file size estimate _estFileSize = _convertctrl.EstimateOutputSize(CDbl(e.time)) End Sub 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 ConvertCtrlForm _form = new ConvertCtrlForm(); public ConvertCtrl _convertctrl; public int _estBitRate = 0; public double _estFileSize = 0.0; public void EstimateExample() { // reference the convert control _convertctrl = _form.ConvertCtrl; // input and output files string inFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_Source.avi"); string outFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_EstimateOutputBitRateExample.avi"); try { // set the source video _convertctrl.SourceFile = inFile; // set video and audio compressors _convertctrl.VideoCompressors.H264.Selected = true; _convertctrl.AudioCompressors.AC3.Selected = true; // subscribe to the progress event _convertctrl.Progress += new ProgressEventHandler(ConvertCtrl_Progress); // set the capture target file _convertctrl.TargetFile = outFile; // set the capture mode to still and start _convertctrl.StartConvert(); // 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 (_convertctrl.State == ConvertState.Running) Application.DoEvents(); // set the result to what we expect _result = (_estBitRate != 0 && _estFileSize != 0.0); } catch (Exception) { _result = false; } } void ConvertCtrl_Progress(object sender, ProgressEventArgs e) { // get the bit rate estimate // we will get called multiple time throughout the conversion process // but for this example it is ok just to use the last received estimate _estBitRate = _convertctrl.EstimateOutputBitRate(); // get the file size estimate _estFileSize = _convertctrl.EstimateOutputSize((double)e.time); } 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