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