public virtual double Duration { get; }
public:
virtual property double Duration {
double get();
}
A value representing the duration.
Retrieves the duration of the media at normal playback speed. Changing the playback rate does not affect the duration.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public PlayCtrlForm _form = new PlayCtrlForm();
double _duration = 0.0;
double _currentPos = -1;
public void PlayExample()
{
// reference the play control
PlayCtrl playctrl = _form.PlayCtrl;
// input file
string inFile = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi");
try
{
// set autostart to false
playctrl.AutoStart = false;
// set the play count to 2
playctrl.PlayCount = 2;
// set our source media file
playctrl.SourceFile = inFile;
// get the reported duration
_duration = playctrl.Duration;
// set the playback rate to 2x
if (playctrl.IsRateSupported(2.0))
playctrl.Rate = 2.0;
// set event handler to get tracking position changes
playctrl.TrackingPositionChanged += new TrackingPositionChangedEventHandler(PlayCtrl_TrackingPositionChanged);
// run it!
playctrl.Run();
}
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 (playctrl.State == PlayState.Running)
Application.DoEvents();
// set the result to determine if the reported duration
// is the same as the final position from tracking
_result = (_duration == _currentPos && _duration > 0.0);
}
void PlayCtrl_TrackingPositionChanged(object sender, TrackingPositionChangedEventArgs e)
{
// get the frame and tracking positions for demonstration only
int frame = _form.PlayCtrl.CurrentFramePosition;
int tracking = _form.PlayCtrl.CurrentTrackingPosition;
// get the current position
_currentPos = Math.Max(_currentPos, _form.PlayCtrl.CurrentPosition);
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\LEADTOOLS22\Media";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document