⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsdvd.cs

📁 一个非常完整的网络会议系统
💻 CS
📖 第 1 页 / 共 2 页
字号:


public enum DvdDomain		// DVD_DOMAIN
{
	FirstPlay			= 1,		// DVD_DOMAIN_FirstPlay
	VideoManagerMenu	= 2,		// DVD_DOMAIN_VideoManagerMenu
	VideoTitleSetMenu	= 3,		// DVD_DOMAIN_VideoTitleSetMenu
	Title				= 4,		// DVD_DOMAIN_Title
	Stop				= 5			// DVD_DOMAIN_Stop
}


// ---------------------------------------------------------------------------------------

public enum DvdVideoCompress	// DVD_VIDEO_COMPRESSION
{
	Other		= 0,		// DVD_VideoCompression_Other
	Mpeg1		= 1,		// DVD_VideoCompression_MPEG1
	Mpeg2		= 2			// DVD_VideoCompression_MPEG2
}



// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdPlayLocation		// DVD_PLAYBACK_LOCATION2
{
	public int			TitleNum;
	public int			ChapterNum;
	public DvdTimeCode	timeCode;
	public int			TimeCodeFlags;
}

// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdMenuAttr		// DVD_MenuAttributes
{
		[MarshalAs( UnmanagedType.ByValArray, SizeConst=8 )]
	public bool[]			compatibleRegion;
	public DvdVideoAttr		videoAt;			// DVD_VideoAttributes

	public bool				audioPresent;
	public DvdAudioAttr		audioAt;			// DVD_AudioAttributes

	public bool				subPicPresent;
	public DvdSubPicAttr	subPicAt;			// DVD_SubpictureAttributes
}


// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdVideoAttr		// DVD_VideoAttributes
{
	public bool		panscanPermitted;
	public bool		letterboxPermitted;
	public int		aspectX;
	public int		aspectY;
	public int		frameRate;
	public int		frameHeight;
	public DvdVideoCompress	compression;
	public bool		line21Field1InGOP;
	public bool		line21Field2InGOP;
	public int		sourceResolutionX;
	public int		sourceResolutionY;
	public bool		isSourceLetterboxed;
	public bool		isFilmMode;
}


// ---------------------------------------------------------------------------------------

public enum DvdAudioAppMode		// DVD_AUDIO_APPMODE
{
	None		= 0,		// DVD_AudioMode_None
	Karaoke		= 1,		// DVD_AudioMode_Karaoke
	Surround	= 2,		// DVD_AudioMode_Surround
	Other		= 3			// DVD_AudioMode_Other
}

// ---------------------------------------------------------------------------------------

public enum DvdAudioFormat		// DVD_AUDIO_FORMAT
{
	Ac3			= 0,		// DVD_AudioFormat_AC3
	Mpeg1		= 1,		// DVD_AudioFormat_MPEG1
	Mpeg1Drc	= 2,		// DVD_AudioFormat_MPEG1_DRC
	Mpeg2		= 3,		// DVD_AudioFormat_MPEG2
	Mpeg2Drc	= 4,		// DVD_AudioFormat_MPEG2_DRC
	Lpcm		= 5,		// DVD_AudioFormat_LPCM
	Dts			= 6,		// DVD_AudioFormat_DTS
	Sdds		= 7,		// DVD_AudioFormat_SDDS
	Other		= 8			// DVD_AudioFormat_Other
}


// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdAudioAttr		// DVD_AudioAttributes
{
	public DvdAudioAppMode	appMode;
	public int				appModeData;
	public DvdAudioFormat	audioFormat;
	public int				language;
	public DvdAudioLangExt	languageExtension;
	public bool				hasMultichannelInfo;
	public int				frequency;
	public byte				quantization;
	public byte				numberOfChannels;
	public short			dummy;
	public int				res1;
	public int				res2;
}


// ---------------------------------------------------------------------------------------

public enum DvdSubPicType		// DVD_SUBPICTURE_TYPE
{
	NotSpecified	= 0,		// DVD_SPType_NotSpecified
	Language		= 1,		// DVD_SPType_Language
	Other			= 2			// DVD_SPType_Other
}

public enum DvdSubPicCoding		// DVD_SUBPICTURE_CODING
{
	RunLength	= 0,		// DVD_SPCoding_RunLength
	Extended	= 1,		// DVD_SPCoding_Extended
	Other		= 2			// DVD_SPCoding_Other
}


// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdSubPicAttr		// DVD_SubpictureAttributes
{
	public DvdSubPicType	type;
	public DvdSubPicCoding	coding;
	public int				language;
	public DvdSubPicLangExt	languageExt;
}


// ---------------------------------------------------------------------------------------

public enum DvdTitleAppMode		// DVD_TITLE_APPMODE
{
	NotSpecified	= 0,		// DVD_AppMode_Not_Specified
	Karaoke			= 1,		// DVD_AppMode_Karaoke
	Other			= 3			// DVD_AppMode_Other
}

// ---------------------------------------------------------------------------------------

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdTitleAttr		// DVD_TitleAttributes
{
	public DvdTitleAppMode	appMode;		// DVD_TITLE_APPMODE
	public DvdVideoAttr		videoAt;		// DVD_VideoAttributes
	public int				numberOfAudioStreams;
	// WARNING: incomplete
}


// ---------------------------------------------------------------------------------------

public enum DvdDiscSide		// DVD_DISC_SIDE
{
	A			= 1,		// DVD_SIDE_A
	B			= 2			// DVD_SIDE_B
}


// ---------------------------------------------------------------------------------------

public enum DvdCharSet		// DVD_TextCharSet
{
	Unicode			= 0,		// DVD_CharSet_Unicode
	Iso646			= 1,		// DVD_CharSet_ISO646
	Jis				= 2,		// DVD_CharSet_JIS_Roman_Kanji
	Iso8859			= 3,		// DVD_CharSet_ISO8859_1
	SiftJis			= 4			// DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana
}




[Flags]
public enum DvdAudioCaps		// DVD_AUDIO_CAPS_xx
{
	Ac3			= 0x00000001,		// DVD_AUDIO_CAPS_AC3
	Mpeg2		= 0x00000002,		// DVD_AUDIO_CAPS_MPEG2
	Lpcm		= 0x00000004,		// DVD_AUDIO_CAPS_LPCM
	Dts			= 0x00000008,		// DVD_AUDIO_CAPS_DTS
	Sdds		= 0x00000010		// DVD_AUDIO_CAPS_SDDS
}

	[StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)]
public struct DvdDecoderCaps		// DVD_DECODER_CAPS
{
	public int			size;			// size of this struct
	public DvdAudioCaps	audioCaps;
	public double		fwdMaxRateVideo;
	public double		fwdMaxRateAudio;
	public double		fwdMaxRateSP;
	public double		bwdMaxRateVideo;
	public double		bwdMaxRateAudio;
	public double		bwdMaxRateSP;
	public int			res1;
	public int			res2;
	public int			res3;
	public int			res4;
}













// ---------------------------------------------------------------------------------------

	[ComVisible(true), ComImport,
	Guid("34151510-EEC0-11D2-8201-00A0C9D74842"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
public interface IDvdInfo2
{
		[PreserveSig]
	int GetCurrentDomain( [Out] out DvdDomain pDomain );

		[PreserveSig]
	int GetCurrentLocation( [Out] out DvdPlayLocation pLocation );

		[PreserveSig]
	int GetTotalTitleTime( [Out] out DvdTimeCode pTotalTime, out int ulTimeCodeFlags );

		[PreserveSig]
	int GetCurrentButton( out int pulButtonsAvailable, out int pulCurrentButton );

		[PreserveSig]
	int GetCurrentAngle( out int pulAnglesAvailable, out int pulCurrentAngle );

		[PreserveSig]
	int GetCurrentAudio( out int pulStreamsAvailable, out int pulCurrentStream );

		[PreserveSig]
	int GetCurrentSubpicture( out int pulStreamsAvailable, out int pulCurrentStream,
		[Out, MarshalAs(UnmanagedType.Bool)]			out	bool	pbIsDisabled );

		[PreserveSig]
	int GetCurrentUOPS( out int pulUOPs );

		[PreserveSig]
	int GetAllSPRMs( out IntPtr pRegisterArray );

		[PreserveSig]
	int GetAllGPRMs( out IntPtr pRegisterArray );

		[PreserveSig]
	int GetAudioLanguage( int ulStream, out int pLanguage );

		[PreserveSig]
	int GetSubpictureLanguage( int ulStream, out int pLanguage );

		[PreserveSig]
	int GetTitleAttributes( int ulTitle,
		[Out] out DvdMenuAttr pMenu, IntPtr pTitle );		// incomplete

		[PreserveSig]
	int GetVMGAttributes( [Out] out DvdMenuAttr pATR );

		[PreserveSig]
	int GetCurrentVideoAttributes( [Out] out DvdVideoAttr pATR );

		[PreserveSig]
	int GetAudioAttributes( int ulStream, [Out] out DvdAudioAttr pATR );

		[PreserveSig]
	int GetKaraokeAttributes( int ulStream, IntPtr pATR );

		[PreserveSig]
	int GetSubpictureAttributes( int ulStream, [Out] out DvdSubPicAttr pATR );

		[PreserveSig]
	int GetDVDVolumeInfo( out int pulNumOfVolumes, out int pulVolume,
		out DvdDiscSide pSide, out int pulNumOfTitles );

		[PreserveSig]
	int GetDVDTextNumberOfLanguages( out int pulNumOfLangs );

		[PreserveSig]
	int GetDVDTextLanguageInfo( int ulLangIndex,
		out int pulNumOfStrings, out int pLangCode, out DvdCharSet pbCharacterSet );
    
		[PreserveSig]
	int GetDVDTextStringAsNative( int ulLangIndex, int ulStringIndex,
		IntPtr pbBuffer, int ulMaxBufferSize, out int pulActualSize, out int pType );

		[PreserveSig]
	int GetDVDTextStringAsUnicode( int ulLangIndex, int ulStringIndex,
		IntPtr pchwBuffer, int ulMaxBufferSize, out int pulActualSize, out int pType );

		[PreserveSig]
	int GetPlayerParentalLevel( out int pulParentalLevel, [Out] byte[] pbCountryCode );

		[PreserveSig]
	int GetNumberOfChapters( int ulTitle, out int pulNumOfChapters );

		[PreserveSig]
	int GetTitleParentalLevels( int ulTitle, out int pulParentalLevels );

		[PreserveSig]
	int GetDVDDirectory( IntPtr pszwPath, int ulMaxSize, out int pulActualSize );

		[PreserveSig]
	int IsAudioStreamEnabled( int ulStreamNum,
		[Out, MarshalAs(UnmanagedType.Bool)]		out	bool	pbEnabled );

		[PreserveSig]
	int GetDiscID(
		[In, MarshalAs(UnmanagedType.LPWStr)]			string		pszwPath,
													out long		pullDiscID );
		[PreserveSig]
	int GetState(
		[Out]										out IDvdState	pStateData );

		[PreserveSig]
	int GetMenuLanguages( [Out] int[] pLanguages, int ulMaxLanguages, out int pulActualLanguages );

		[PreserveSig]
	int GetButtonAtPosition( DsPOINT point, out int pulButtonIndex );

		[PreserveSig]
	int GetCmdFromEvent( int lParam1,
		[Out]										out IDvdCmd		pCmdObj );

		[PreserveSig]
	int GetDefaultMenuLanguage( out int pLanguage );

		[PreserveSig]
	int GetDefaultAudioLanguage( out int pLanguage, out DvdAudioLangExt pAudioExtension );

		[PreserveSig]
	int GetDefaultSubpictureLanguage( out int pLanguage, out DvdSubPicLangExt pSubpictureExtension );

		[PreserveSig]
	int GetDecoderCaps( ref DvdDecoderCaps pCaps );

		[PreserveSig]
	int GetButtonRect( int ulButton, out DsRECT pRect );

		[PreserveSig]
	int IsSubpictureStreamEnabled( int ulStreamNum,
		[Out, MarshalAs(UnmanagedType.Bool)]		out	bool	pbEnabled );

}

	[StructLayout(LayoutKind.Sequential), ComVisible(false)]
public class OptIDvdCmd
{
	public IDvdCmd		dvdCmd;
}


} // namespace DShowNET.Dvd

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -