public virtual bool UseDVDSource { get; set; }
true to use the DVD Source object; false, otherwise.
A DVD image is a set of files that contain all of the video and audio content for a DVD, organized with a table of contents.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public PlayCtrlForm _form = new PlayCtrlForm();
public void UseDVDSourceExample()
{
// reference the play control
PlayCtrl playctrl = _form.PlayCtrl;
// input file
string inFile = Path.Combine(LEAD_VARS.MediaDir, "VIDEO_TS.IFO");
try
{
DVDSource dvdSource;
DVDTitle title;
DVDChapter chapter;
DVDSubpictureStream subpictureStream;
DVDAudioStream audioStream;
DVDVideoCompression comp;
DVDAudioAppMode appMode;
DVDAudioFormat audFormat;
DVDAudioLangExt audLangExt;
DVDSubpictureCoding subPicCoding;
DVDSubpictureLangExt subPicLangExt;
DVDSubpictureType subPicType;
int i;
int lCount;
long lVal;
bool bVal;
double dVal;
string strPlayList;
// disable auto start
playctrl.AutoStart = false;
// force to use the DVD source
playctrl.UseDVDSource = true;
// set the source file
playctrl.SourceFile = inFile;
// reference the DVDSource object
dvdSource = (DVDSource)playctrl.GetSubObject(PlayObject.SourceFilter);
// Select the main title on the disc
if ((dvdSource.Selected != DVDSourceSelectedState.MainSelected))
dvdSource.Selected = DVDSourceSelectedState.MainSelected;
// Get the disc duration
dVal = dvdSource.TotalDuration;
// Get the selected title duration
dVal = dvdSource.SelectedDuration;
// Get the play list settings
strPlayList = dvdSource.PlayList;
// You can save this to a file and restore the settings later
// Restore the playlist settings
dvdSource.PlayList = strPlayList;
// Get the title count in the disc
lCount = dvdSource.TitleCount;
for (i = 0; (i <= (lCount - 1)); i++)
{
// Get the title interface
title = dvdSource.GetTitle(i);
// Get the X and Y aspects
lVal = title.AspectX;
lVal = title.AspectY;
// check whether the title is in film mode or camera mode
bVal = title.IsFilmMode;
// check whether there is user data in line 21, field 1
bVal = title.Line21Field1InGOP;
// check whether there is user data in line 21, field 2
bVal = title.Line21Field2InGOP;
// Check the compression
comp = title.Compression;
// Get the X source resolution
lVal = title.SourceResolutionX;
// Get the Y source resolution
lVal = title.SourceResolutionY;
// Get the Frame Height
lVal = title.FrameHeight;
// Get the Frame Rate
lVal = title.FrameRate;
// check whether the source is letter boxed
bVal = title.IsSourceLetterboxed;
// check whether the picture can be shown as letterbox
bVal = title.LetterboxPermitted;
// check whether the picture can be shown as pan-scan
bVal = title.PanscanPermitted;
// Get the title duration
dVal = title.TotalDuration;
// Select all title chapters
if ((title.Selected != DVDTitleSelectedState.Selected))
title.Selected = DVDTitleSelectedState.Selected;
// Get the selected chapter duration
dVal = title.SelectedDuration;
// Get the audio stream count in the title
if ((title.AudioStreamCount > 0))
{
// Select the first audio stream
if ((title.SelectedAudioStream == -1))
title.SelectedAudioStream = 0;
// Get the first audio stream
audioStream = title.GetAudioStream(0);
// Select the audio stream
if ((audioStream.Selected == false))
audioStream.Selected = true;
// Get the application mode
appMode = audioStream.AppMode;
// Get the application mode data
lVal = audioStream.AppModeData;
// Get the auido format
audFormat = audioStream.AudioFormat;
// Get the number of channels
lVal = audioStream.Channels;
// Get the frequency
lVal = audioStream.Frequency;
// Get the language
lVal = audioStream.Language;
// Get the language extension
audLangExt = audioStream.LanguageExtension;
// Get the quantization
lVal = audioStream.Quantization;
if ((title.SubpictureStreamCount > 0))
{
// Select the first subpicture stream
if ((title.SelectedSubpictureStream == -1))
title.SelectedSubpictureStream = 0;
// Get the first subpicture stream
subpictureStream = title.GetSubpictureStream(0);
// Select the subpicture stream
if ((subpictureStream.Selected == false))
subpictureStream.Selected = true;
// Get the coding mode
subPicCoding = subpictureStream.CodingMode;
// Get the langauge
lVal = subpictureStream.Language;
// Get the language extension
subPicLangExt = subpictureStream.LanguageExtension;
// Get the type
subPicType = subpictureStream.Type;
}
// Get the chapter count
if ((title.ChapterCount > 0))
{
// Get the first chapter
chapter = title.GetChapter(0);
// Get the chapter duration
dVal = chapter.Duration;
// Get if the chapter is selected
if ((chapter.Selected == false))
chapter.Selected = true;
// set the result to what we expect
_result = (chapter != null);
}
}
}
}
catch (COMException)
{
_result = false;
}
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();
}
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.