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

📄 dsextend.cs

📁 人体运动检测与运动跟踪的源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
		[PreserveSig]
	int put_Mode( AMTunerModeType lMode );

		[PreserveSig]
	int get_Mode( out AMTunerModeType plMode );
    
		[PreserveSig]
	int GetAvailableModes( out AMTunerModeType plModes );
    
		[PreserveSig]
	int RegisterNotificationCallBack( IAMTunerNotification pNotify, AMTunerEventType lEvents );

		[PreserveSig]
	int UnRegisterNotificationCallBack( IAMTunerNotification pNotify );
}


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

	[ComVisible(true), ComImport,
	Guid("211A8760-03AC-11d1-8D13-00AA00BD8339"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
public interface IAMTunerNotification
{
		[PreserveSig]
	int OnEvent( AMTunerEventType Event );
}


// ---------------------------------------------------------------------------------------
	[Flags, ComVisible(false)]
public enum AnalogVideoStandard
{
	None		= 0x00000000,  // This is a digital sensor
	NTSC_M		= 0x00000001,  //        75 IRE Setup
	NTSC_M_J	= 0x00000002,  // Japan,  0 IRE Setup
	NTSC_433	= 0x00000004,
	PAL_B		= 0x00000010,
	PAL_D		= 0x00000020,
	PAL_G		= 0x00000040,
	PAL_H		= 0x00000080,
	PAL_I		= 0x00000100,
	PAL_M		= 0x00000200,
	PAL_N		= 0x00000400,
	PAL_60		= 0x00000800,
	SECAM_B		= 0x00001000,
	SECAM_D		= 0x00002000,
	SECAM_G		= 0x00004000,
	SECAM_H		= 0x00008000,
	SECAM_K		= 0x00010000,
	SECAM_K1	= 0x00020000,
	SECAM_L		= 0x00040000,
	SECAM_L1	= 0x00080000,
	PAL_N_COMBO	= 0x00100000	// Argentina
}

	[ComVisible(false)]
public enum TunerInputType
{
	Cable,
	Antenna
}


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

	[ComVisible(true), ComImport,
	Guid("211A8766-03AC-11d1-8D13-00AA00BD8339"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
public interface IAMTVTuner
{

	#region "IAMTuner Methods"
			[PreserveSig]
		int put_Channel( int lChannel, AMTunerSubChannel lVideoSubChannel, AMTunerSubChannel lAudioSubChannel );

			[PreserveSig]
		int get_Channel( out int plChannel, out int plVideoSubChannel, out int plAudioSubChannel );
	    
			[PreserveSig]
		int ChannelMinMax( out int lChannelMin, out int lChannelMax );
	        
			[PreserveSig]
		int put_CountryCode( int lCountryCode );

			[PreserveSig]
		int get_CountryCode( out int plCountryCode );

			[PreserveSig]
		int put_TuningSpace( int lTuningSpace );

			[PreserveSig]
		int get_TuningSpace( out int plTuningSpace );

			[PreserveSig]
		int Logon( IntPtr hCurrentUser );
	    
			[PreserveSig]
		int Logout();

			[PreserveSig]
		int SignalPresent( out AMTunerSignalStrength plSignalStrength );
	    
			[PreserveSig]
		int put_Mode( AMTunerModeType lMode );

			[PreserveSig]
		int get_Mode( out AMTunerModeType plMode );
	    
			[PreserveSig]
		int GetAvailableModes( out AMTunerModeType plModes );
	    
			[PreserveSig]
		int RegisterNotificationCallBack( IAMTunerNotification pNotify, AMTunerEventType lEvents );

			[PreserveSig]
		int UnRegisterNotificationCallBack( IAMTunerNotification pNotify );
	#endregion

		[PreserveSig]
	int get_AvailableTVFormats( out AnalogVideoStandard lAnalogVideoStandard );

		[PreserveSig]
	int get_TVFormat( out AnalogVideoStandard lAnalogVideoStandard );
    
		[PreserveSig]
	int AutoTune( int lChannel, out int plFoundSignal );
    
		[PreserveSig]
	int StoreAutoTune();
    
		[PreserveSig]
	int get_NumInputConnections( out int plNumInputConnections );
    
		[PreserveSig]
	int put_InputType( int lIndex, TunerInputType inputType );
    
		[PreserveSig]
	int get_InputType( int lIndex, out TunerInputType inputType );

		[PreserveSig]
	int put_ConnectInput( int lIndex );
    
		[PreserveSig]
	int get_ConnectInput( out int lIndex );

		[PreserveSig]
	int get_VideoFrequency( out int lFreq );

		[PreserveSig]
	int get_AudioFrequency( out int lFreq );
}

	// ---------------------------------------------------------------------------------------
	[ComVisible(true), ComImport,
	Guid("C6E13380-30AC-11d0-A18C-00A0C9118956"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
	public interface IAMCrossbar
	{
		[PreserveSig]
		int get_PinCounts(
				[Out] out int OutputPinCount, 
				[Out] out int InputPinCount );

		[PreserveSig]
		int CanRoute( 
				[In]  int OutputPinIndex, 
				[In]  int InputPinIndex );

		[PreserveSig]
		int Route( 
				[In]  int OutputPinIndex, 
				[In]  int InputPinIndex );

		[PreserveSig]
		int get_IsRoutedTo( 
			[In] int OutputPinIndex, 
			[Out] out int InputPinIndex );

		[PreserveSig]
		int get_CrossbarPinInfo( 
				[In, MarshalAs(UnmanagedType.Bool)]	bool IsInputPin, 
				[In]  int PinIndex,
				[Out] out int PinIndexRelated,
				[Out] out PhysicalConnectorType PhysicalType
				);
	}

	// ---------------------------------------------------------------------------------------
	[ComVisible(true), ComImport,
	Guid("54C39221-8380-11d0-B3F0-00AA003761C5"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
	public interface IAMAudioInputMixer
	{
		// This interface is only supported by the input pins, not the filter
		// If disabled, this channel will not be mixed in as part of the
		// recorded signal.
		int put_Enable (
			[In] bool fEnable);	// TRUE=enable FALSE=disable

		//Is this channel enabled?
		int get_Enable (
			[Out] out bool pfEnable);

		// When set to mono mode, making a stereo recording of this channel
		// will have both channels contain the same data... a mixture of the
		// left and right signals
		int put_Mono (
			[In] bool fMono);	// TRUE=mono FALSE=multi channel

		//all channels combined into a mono signal?
		int get_Mono (
			[Out] out bool pfMono);

		// !!! WILL CARDS BE ABLE TO BOOST THE GAIN?
		//Set the record level for this channel
		int put_MixLevel (
			[In] double Level);	// 0 = off, 1 = full (unity?) volume
		// AMF_AUTOMATICGAIN, if supported,
		// means automatic

		//Get the record level for this channel
		int get_MixLevel (
			[Out] out double pLevel);

		// For instance, when panned full left, and you make a stereo recording
		// of this channel, you will record a silent right channel.
		int put_Pan (
			[In] double Pan);	// -1 = full left, 0 = centre, 1 = right

		//Get the pan for this channel
		int get_Pan (
			[Out] out double pPan);

		// Boosts the bass of low volume signals before they are recorded
		// to compensate for the fact that your ear has trouble hearing quiet
		// bass sounds
		int put_Loudness (
			[In] bool fLoudness);// TRUE=on FALSE=off

		int get_Loudness (
			[Out] out bool pfLoudness);

		// boosts or cuts the treble of the signal before it's recorded by
		// a certain amount of dB
		int put_Treble (
			[In] double Treble); // gain in dB (-ve = attenuate)

		//Get the treble EQ for this channel
		int get_Treble (
			[Out] out double pTreble);

		// This is the maximum value allowed in put_Treble.  ie 6.0 means
		// any value between -6.0 and 6.0 is allowed
		int get_TrebleRange (
			[Out] out double pRange); // largest value allowed

		// boosts or cuts the bass of the signal before it's recorded by
		// a certain amount of dB
		int put_Bass (
			[In] double Bass); // gain in dB (-ve = attenuate)

		// Get the bass EQ for this channel
		int get_Bass (
			[Out] out double pBass);

		// This is the maximum value allowed in put_Bass.  ie 6.0 means
		// any value between -6.0 and 6.0 is allowed
		int get_BassRange (
			[Out] out double pRange); // largest value allowed
	}

	// ---------------------------------------------------------------------------------------
	public enum VfwCompressDialogs
	{
		Config = 0x01,
		About =  0x02,
		QueryConfig = 0x04,
		QueryAbout =  0x08
	}

	// ---------------------------------------------------------------------------------------
	[ComVisible(true), ComImport,
	Guid("D8D715A3-6E5E-11D0-B3F0-00AA003761C5"),
	InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
	public interface IAMVfwCompressDialogs
	{
		[PreserveSig]
			// Bring up a dialog for this codec
		int ShowDialog(
			[In]  VfwCompressDialogs	iDialog,
			[In]  IntPtr				hwnd );

		// Calls ICGetState and gives you the result
		int GetState(
			[Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pState,
			ref int pcbState );

		// Calls ICSetState
		int SetState(
			[In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pState,
			[In] int cbState );

		// Send a codec specific message
		int SendDriverMessage(
			int uMsg,
			long dw1,
			long dw2 );
	}


	// ---------------------------------------------------------------------------------------
	[StructLayout(LayoutKind.Sequential), ComVisible(false)]
	public class VideoStreamConfigCaps		// VIDEO_STREAM_CONFIG_CAPS
	{
		public Guid			Guid;
		public AnalogVideoStandard	    VideoStandard;
		public Size			InputSize;
		public Size			MinCroppingSize;
		public Size			MaxCroppingSize;
		public int			CropGranularityX;
		public int			CropGranularityY;
		public int			CropAlignX;
		public int			CropAlignY;
		public Size			MinOutputSize;
		public Size			MaxOutputSize;
		public int			OutputGranularityX;
		public int			OutputGranularityY;
		public int			StretchTapsX;
		public int			StretchTapsY;
		public int			ShrinkTapsX;
		public int			ShrinkTapsY;
		public long			MinFrameInterval;
		public long			MaxFrameInterval;
		public int			MinBitsPerSecond;
		public int			MaxBitsPerSecond;
	}

	// ---------------------------------------------------------------------------------------
	[StructLayout(LayoutKind.Sequential), ComVisible(false)]
	public class AudioStreamConfigCaps  // AUDIO_STREAM_CONFIG_CAPS
	{
		public Guid	Guid;
		public int	MinimumChannels;
		public int	MaximumChannels;
		public int	ChannelsGranularity;
		public int	MinimumBitsPerSample;
		public int	MaximumBitsPerSample;
		public int	BitsPerSampleGranularity;
		public int	MinimumSampleFrequency;
		public int	MaximumSampleFrequency;
		public int	SampleFrequencyGranularity;
	}


} // namespace DShowNET

⌨️ 快捷键说明

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