Gets the estimated conversion output size for the specified duration, in bytes.
Syntax
Visual Basic (Declaration) | |
---|
Public Overridable Function EstimateOutputSize( _
ByVal duration As Double _
) As Double |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As ConvertCtrl
Dim duration As Double
Dim value As Double
value = instance.EstimateOutputSize(duration) |
Parameters
- duration
- Value that represents the duration in seconds for which to calculate the estimated output size. Pass the value -1 to estimate the conversion output size for the whole file duration.
Return Value
A value that represents the conversion estimated output size.
Example
Visual Basic | Copy Code |
---|
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 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(CDbl(e.time))
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class |
C# | Copy Code |
---|
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 17\Media";
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also