Leadtools.Multimedia Namespace > DVDSource Class : TotalDuration Property |
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures Public _result As Boolean = False Public _form As ConvertCtrlForm = New ConvertCtrlForm() Public Sub UseDVDSourceExample() ' reference the convert control Dim convertctrl As ConvertCtrl = _form.ConvertCtrl ' input and output files Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "VIDEO_TS.IFO") Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_UseDVDSourceExample.avi") Try Dim dvdSource As DVDSource Dim title As DVDTitle Dim chapter As DVDChapter Dim subpictureStream As DVDSubpictureStream Dim audioStream As DVDAudioStream Dim comp As DVDVideoCompression Dim appMode As DVDAudioAppMode Dim audFormat As DVDAudioFormat Dim audLangExt As DVDAudioLangExt Dim subPicCoding As DVDSubpictureCoding Dim subPicLangExt As DVDSubpictureLangExt Dim subPicType As DVDSubpictureType Dim i As Integer Dim lCount As Integer Dim lVal As Long Dim bVal As Boolean Dim dVal As Double Dim strPlayList As String ' 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 = CType(convertctrl.GetSubObject(ConvertObject.SourceFilter), DVDSource) ' Select the main title on the disc If (dvdSource.Selected <> DVDSourceSelectedState.MainSelected) Then dvdSource.Selected = DVDSourceSelectedState.MainSelected End If ' 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 i = 0 Do While (i <= (lCount - 1)) ' 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) Then title.Selected = DVDTitleSelectedState.Selected End If ' Get the selected chapter duration dVal = title.SelectedDuration ' Get the audio stream count in the title If (title.AudioStreamCount > 0) Then ' Select the first audio stream If (title.SelectedAudioStream = -1) Then title.SelectedAudioStream = 0 End If ' Get the first audio stream audioStream = title.GetAudioStream(0) ' Select the audio stream If (audioStream.Selected = False) Then audioStream.Selected = True End If ' 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) Then ' Select the first subpicture stream If (title.SelectedSubpictureStream = -1) Then title.SelectedSubpictureStream = 0 End If ' Get the first subpicture stream subpictureStream = title.GetSubpictureStream(0) ' Select the subpicture stream If (subpictureStream.Selected = False) Then subpictureStream.Selected = True End If ' 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 End If ' Get the chapter count If (title.ChapterCount > 0) Then ' 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) Then chapter.Selected = True End If End If End If i += 1 Loop Catch e1 As COMException _result = False Catch e2 As Exception _result = False End Try ' 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 End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media" End Class
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:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }