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)
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures 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 18\Media" End Class
using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; 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 18\Media"; }