public int TitleCount { get; }
public:
property int TitleCount {
int get();
}
A value representing the number of titles in the disc.
Note: The ConvertCtrl.UseDVDSource and PlayCtrl.UseDVDSource properties should be set to true before specifying the DVD source image. This forces the player and the converter to use the DVDSource object when attempting to play or convert a DVD image.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public ConvertCtrlForm _form = new ConvertCtrlForm();
public void UseDVDSourceExample()
{
// reference the convert control
ConvertCtrl convertctrl = _form.ConvertCtrl;
// input and output files
string inFile = Path.Combine(LEAD_VARS.MediaDir, @"VIDEO_TS\VIDEO_TS.IFO");
string outFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_UseDVDSourceExample.avi");
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;
// force to use the DVD source
convertctrl.UseDVDSource = true;
// set the input and output files
convertctrl.SourceFile = inFile;
convertctrl.TargetFile = outFile;
// reference the DVDSource object
dvdSource = (DVDSource)convertctrl.GetSubObject(ConvertObject.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;
// Get if the title is a film mode or camera mode
bVal = title.IsFilmMode;
// Get if there is a user data in line 21, field 1
bVal = title.Line21Field1InGOP;
// Get if there is a user data in line 21, field 2
bVal = title.Line21Field2InGOP;
// Get 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;
// Get if the source is a letter boxed
bVal = title.IsSourceLetterboxed;
// Get if the picture can be shown as letterbox
bVal = title.LetterboxPermitted;
// Get if 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;
}
}
}
}
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 (convertctrl.State == ConvertState.Running)
Application.DoEvents();
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\LEADTOOLS23\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