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

📄 avicaptura.~hp

📁 视频采集控件的源码
💻 ~HP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AviCaptura.pas' rev: 4.00

#ifndef AviCapturaHPP
#define AviCapturaHPP

#pragma delphiheader begin
#pragma option push -w-
#include <Messages.hpp>	// Pascal unit
#include <MMSystem.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Avicaptura
{
//-- type declarations -------------------------------------------------------
struct TVIDEOHDR;
typedef TVIDEOHDR *PVIDEOHDR;

#pragma pack(push, 4)
struct TVIDEOHDR
{
	Byte *lpData;
	unsigned dwBufferLength;
	unsigned dwBytesUsed;
	unsigned dwTimeCaptured;
	unsigned dwUser;
	unsigned dwFlags;
	unsigned dwReserved[4];
} ;
#pragma pack(pop)

struct TCapDriverCaps;
typedef TCapDriverCaps *PCapDriverCaps;

#pragma pack(push, 4)
struct TCapDriverCaps
{
	Word wDeviceIndex;
	BOOL fHasOverlay;
	BOOL fHasDlgVideoSource;
	BOOL fHasDlgVideoFormat;
	BOOL fHasDlgVideoDisplay;
	BOOL fCaptureInitialized;
	BOOL fDriverSuppliesPalettes;
	unsigned hVideoIn;
	unsigned hVideoOut;
	unsigned hVideoExtIn;
	unsigned hVideoExtOut;
} ;
#pragma pack(pop)

struct TCapStatus;
typedef TCapStatus *PCapStatus;

#pragma pack(push, 1)
struct TCapStatus
{
	unsigned uiImageWidth;
	unsigned uiImageHeight;
	BOOL fLiveWindow;
	BOOL fOverlayWindow;
	BOOL fScale;
	Windows::TPoint ptScroll;
	BOOL fUsingDefaultPalette;
	BOOL fAudioHardware;
	BOOL fCapFileExists;
	unsigned dwCurrentVideoFrame;
	unsigned dwCurrentVideoFramesDropped;
	unsigned dwCurrentWaveSamples;
	unsigned dwCurrentTimeElapsedMS;
	HPALETTE hPalCurrent;
	BOOL fCapturingNow;
	unsigned dwReturn;
	Word wNumVideoAllocated;
	Word wNumAudioAllocated;
} ;
#pragma pack(pop)

struct TCaptureParms;
typedef TCaptureParms *PCaptureParms;

#pragma pack(push, 4)
struct TCaptureParms
{
	unsigned dwRequestMicroSecPerFrame;
	BOOL fMakeUserHitOKToCapture;
	Word wPercentDropForError;
	BOOL fYield;
	unsigned dwIndexSize;
	Word wChunkGranularity;
	BOOL fUsingDOSMemory;
	Word wNumVideoRequested;
	BOOL fCaptureAudio;
	Word wNumAudioRequested;
	Word vKeyAbort;
	BOOL fAbortLeftMouse;
	BOOL fAbortRightMouse;
	BOOL fLimitEnabled;
	Word wTimeLimit;
	BOOL fMCIControl;
	BOOL fStepMCIDevice;
	unsigned dwMCIStartTime;
	unsigned dwMCIStopTime;
	BOOL fStepCaptureAt2x;
	Word wStepCaptureAverageFrames;
	unsigned dwAudioBufferSize;
	BOOL fDisableWriteCache;
	Word AVStreamMaster;
} ;
#pragma pack(pop)

struct TCapInfoChunk;
typedef TCapInfoChunk *PCapInfoChunk;

#pragma pack(push, 4)
struct TCapInfoChunk
{
	unsigned fccInfoID;
	int lpData;
	int cbData;
} ;
#pragma pack(pop)

typedef int __stdcall (*TCAPSTATUSCALLBACK)(HWND hWnd, int nID, int lpsz);

typedef int __stdcall (*TCAPYIELDCALLBACK)(HWND hWnd);

typedef int __stdcall (*TCAPERRORCALLBACK)(HWND hWnd, int nID, int lpsz);

typedef int __stdcall (*TCAPVIDEOCALLBACK)(HWND hWnd, PVIDEOHDR lpVHdr);

typedef int __stdcall (*TCAPWAVECALLBACK)(HWND hWnd, int lpWHdr);

typedef int __stdcall (*TCAPCONTROLCALLBACK)(HWND hWnd, int nState);

//-- var, const, procedure ---------------------------------------------------
static const Word WM_CAP_START = 0x400;
static const Word WM_CAP_GET_CAPSTREAMPTR = 0x401;
static const Word WM_CAP_SET_CALLBACK_ERROR = 0x402;
static const Word WM_CAP_SET_CALLBACK_STATUS = 0x403;
static const Word WM_CAP_SET_CALLBACK_YIELD = 0x404;
static const Word WM_CAP_SET_CALLBACK_FRAME = 0x405;
static const Word WM_CAP_SET_CALLBACK_VIDEOSTREAM = 0x406;
static const Word WM_CAP_SET_CALLBACK_WAVESTREAM = 0x407;
static const Word WM_CAP_GET_USER_DATA = 0x408;
static const Word WM_CAP_SET_USER_DATA = 0x409;
static const Word WM_CAP_DRIVER_CONNECT = 0x40a;
static const Word WM_CAP_DRIVER_DISCONNECT = 0x40b;
static const Word WM_CAP_DRIVER_GET_NAME = 0x40c;
static const Word WM_CAP_DRIVER_GET_VERSION = 0x40d;
static const Word WM_CAP_DRIVER_GET_CAPS = 0x40e;
static const Word WM_CAP_FILE_SET_CAPTURE_FILE = 0x414;
static const Word WM_CAP_FILE_GET_CAPTURE_FILE = 0x415;
static const Word WM_CAP_FILE_ALLOCATE = 0x416;
static const Word WM_CAP_FILE_SAVEAS = 0x417;
static const Word WM_CAP_FILE_SET_INFOCHUNK = 0x418;
static const Word WM_CAP_FILE_SAVEDIB = 0x419;
static const Word WM_CAP_EDIT_COPY = 0x41e;
static const Word WM_CAP_SET_AUDIOFORMAT = 0x423;
static const Word WM_CAP_GET_AUDIOFORMAT = 0x424;
static const Word WM_CAP_DLG_VIDEOFORMAT = 0x429;
static const Word WM_CAP_DLG_VIDEOSOURCE = 0x42a;
static const Word WM_CAP_DLG_VIDEODISPLAY = 0x42b;
static const Word WM_CAP_GET_VIDEOFORMAT = 0x42c;
static const Word WM_CAP_SET_VIDEOFORMAT = 0x42d;
static const Word WM_CAP_DLG_VIDEOCOMPRESSION = 0x42e;
static const Word WM_CAP_SET_PREVIEW = 0x432;
static const Word WM_CAP_SET_OVERLAY = 0x433;
static const Word WM_CAP_SET_PREVIEWRATE = 0x434;
static const Word WM_CAP_SET_SCALE = 0x435;
static const Word WM_CAP_GET_STATUS = 0x436;
static const Word WM_CAP_SET_SCROLL = 0x437;
static const Word WM_CAP_GRAB_FRAME = 0x43c;
static const Word WM_CAP_GRAB_FRAME_NOSTOP = 0x43d;
static const Word WM_CAP_SEQUENCE = 0x43e;
static const Word WM_CAP_SEQUENCE_NOFILE = 0x43f;
static const Word WM_CAP_SET_SEQUENCE_SETUP = 0x440;
static const Word WM_CAP_GET_SEQUENCE_SETUP = 0x441;
static const Word WM_CAP_SET_MCI_DEVICE = 0x442;
static const Word WM_CAP_GET_MCI_DEVICE = 0x443;
static const Word WM_CAP_STOP = 0x444;
static const Word WM_CAP_ABORT = 0x445;
static const Word WM_CAP_SINGLE_FRAME_OPEN = 0x446;
static const Word WM_CAP_SINGLE_FRAME_CLOSE = 0x447;
static const Word WM_CAP_SINGLE_FRAME = 0x448;
static const Word WM_CAP_PAL_OPEN = 0x450;
static const Word WM_CAP_PAL_SAVE = 0x451;
static const Word WM_CAP_PAL_PASTE = 0x452;
static const Word WM_CAP_PAL_AUTOCREATE = 0x453;
static const Word WM_CAP_PAL_MANUALCREATE = 0x454;
static const Word WM_CAP_SET_CALLBACK_CAPCONTROL = 0x455;
static const Word WM_CAP_END = 0x455;
static const Shortint VHDR_DONE = 0x1;
static const Shortint VHDR_PREPARED = 0x2;
static const Shortint VHDR_INQUEUE = 0x4;
static const Shortint VHDR_KEYFRAME = 0x8;
static const Shortint CONTROLCALLBACK_PREROLL = 0x1;
static const Shortint CONTROLCALLBACK_CAPTURING = 0x2;
static const Word IDS_CAP_BEGIN = 0x12c;
static const Word IDS_CAP_END = 0x12d;
static const Word IDS_CAP_INFO = 0x191;
static const Word IDS_CAP_OUTOFMEM = 0x192;
static const Word IDS_CAP_FILEEXISTS = 0x193;
static const Word IDS_CAP_ERRORPALOPEN = 0x194;
static const Word IDS_CAP_ERRORPALSAVE = 0x195;
static const Word IDS_CAP_ERRORDIBSAVE = 0x196;
static const Word IDS_CAP_DEFAVIEXT = 0x197;
static const Word IDS_CAP_DEFPALEXT = 0x198;
static const Word IDS_CAP_CANTOPEN = 0x199;
static const Word IDS_CAP_SEQ_MSGSTART = 0x19a;
static const Word IDS_CAP_SEQ_MSGSTOP = 0x19b;
static const Word IDS_CAP_VIDEDITERR = 0x19c;
static const Word IDS_CAP_READONLYFILE = 0x19d;
static const Word IDS_CAP_WRITEERROR = 0x19e;
static const Word IDS_CAP_NODISKSPACE = 0x19f;
static const Word IDS_CAP_SETFILESIZE = 0x1a0;
static const Word IDS_CAP_SAVEASPERCENT = 0x1a1;
static const Word IDS_CAP_DRIVER_ERROR = 0x1a2;
static const Word IDS_CAP_WAVE_OPEN_ERROR = 0x1a3;
static const Word IDS_CAP_WAVE_ALLOC_ERROR = 0x1a4;
static const Word IDS_CAP_WAVE_PREPARE_ERROR = 0x1a5;
static const Word IDS_CAP_WAVE_ADD_ERROR = 0x1a6;
static const Word IDS_CAP_WAVE_SIZE_ERROR = 0x1a7;
static const Word IDS_CAP_VIDEO_OPEN_ERROR = 0x1a8;
static const Word IDS_CAP_VIDEO_ALLOC_ERROR = 0x1a9;
static const Word IDS_CAP_VIDEO_PREPARE_ERROR = 0x1aa;
static const Word IDS_CAP_VIDEO_ADD_ERROR = 0x1ab;
static const Word IDS_CAP_VIDEO_SIZE_ERROR = 0x1ac;
static const Word IDS_CAP_FILE_OPEN_ERROR = 0x1ad;
static const Word IDS_CAP_FILE_WRITE_ERROR = 0x1ae;
static const Word IDS_CAP_RECORDING_ERROR = 0x1af;
static const Word IDS_CAP_RECORDING_ERROR2 = 0x1b0;
static const Word IDS_CAP_AVI_INIT_ERROR = 0x1b1;
static const Word IDS_CAP_NO_FRAME_CAP_ERROR = 0x1b2;
static const Word IDS_CAP_NO_PALETTE_WARN = 0x1b3;
static const Word IDS_CAP_MCI_CONTROL_ERROR = 0x1b4;
static const Word IDS_CAP_MCI_CANT_STEP_ERROR = 0x1b5;
static const Word IDS_CAP_NO_AUDIO_CAP_ERROR = 0x1b6;
static const Word IDS_CAP_AVI_DRAWDIB_ERROR = 0x1b7;
static const Word IDS_CAP_COMPRESSOR_ERROR = 0x1b8;
static const Word IDS_CAP_AUDIO_DROP_ERROR = 0x1b9;
static const Word IDS_CAP_STAT_LIVE_MODE = 0x1f4;
static const Word IDS_CAP_STAT_OVERLAY_MODE = 0x1f5;
static const Word IDS_CAP_STAT_CAP_INIT = 0x1f6;
static const Word IDS_CAP_STAT_CAP_FINI = 0x1f7;
static const Word IDS_CAP_STAT_PALETTE_BUILD = 0x1f8;
static const Word IDS_CAP_STAT_OPTPAL_BUILD = 0x1f9;
static const Word IDS_CAP_STAT_I_FRAMES = 0x1fa;
static const Word IDS_CAP_STAT_L_FRAMES = 0x1fb;
static const Word IDS_CAP_STAT_CAP_L_FRAMES = 0x1fc;
static const Word IDS_CAP_STAT_CAP_AUDIO = 0x1fd;
static const Word IDS_CAP_STAT_VIDEOCURRENT = 0x1fe;
static const Word IDS_CAP_STAT_VIDEOAUDIO = 0x1ff;
static const Word IDS_CAP_STAT_VIDEOONLY = 0x200;
static const Word IDS_CAP_STAT_FRAMESDROPPED = 0x201;
#define AVICAP32 "AVICAP32.dll"
extern "C" bool __stdcall capGetDriverDescription(unsigned wDriverIndex, char * lpszName, int cbName
	, char * lpszVer, int cbVer);
extern "C" unsigned __stdcall capCreateCaptureWindow(char * lpszWindowName, unsigned dwStyle, int x, 
	int y, int nWidth, int nHeight, unsigned hwndParent, int nID);
extern PACKAGE int __fastcall capSetCallbackOnError(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnStatus(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnYield(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnFrame(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnVideoStream(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnWaveStream(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetCallbackOnCapControl(unsigned hwnd, int fpProc);
extern PACKAGE int __fastcall capSetUserData(unsigned hwnd, int lUser);
extern PACKAGE int __fastcall capGetUserData(unsigned hwnd);
extern PACKAGE int __fastcall capDriverConnect(unsigned hwnd, Word I);
extern PACKAGE int __fastcall capDriverDisconnect(unsigned hwnd);
extern PACKAGE int __fastcall capDriverGetName(unsigned hwnd, int szName, Word wSize);
extern PACKAGE int __fastcall capDriverGetVersion(unsigned hwnd, int szVer, Word wSize);
extern PACKAGE int __fastcall capDriverGetCaps(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capFileSetCaptureFile(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capFileGetCaptureFile(unsigned hwnd, int szName, Word wSize);
extern PACKAGE int __fastcall capFileAlloc(unsigned hwnd, int dwSize);
extern PACKAGE int __fastcall capFileSaveAs(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capFileSetInfoChunk(unsigned hwnd, int lpInfoChunk);
extern PACKAGE int __fastcall capFileSaveDIB(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capEditCopy(unsigned hwnd);
extern PACKAGE int __fastcall capSetAudioFormat(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capGetAudioFormat(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capGetAudioFormatSize(unsigned hwnd);
extern PACKAGE int __fastcall capDlgVideoFormat(unsigned hwnd);
extern PACKAGE int __fastcall capDlgVideoSource(unsigned hwnd);
extern PACKAGE int __fastcall capDlgVideoDisplay(unsigned hwnd);
extern PACKAGE int __fastcall capDlgVideoCompression(unsigned hwnd);
extern PACKAGE int __fastcall capGetVideoFormat(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capGetVideoFormatSize(unsigned hwnd);
extern PACKAGE int __fastcall capSetVideoFormat(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capPreview(unsigned hwnd, Word f);
extern PACKAGE int __fastcall capPreviewRate(unsigned hwnd, Word wMS);
extern PACKAGE int __fastcall capOverlay(unsigned hwnd, Word f);
extern PACKAGE int __fastcall capPreviewScale(unsigned hwnd, Word f);
extern PACKAGE int __fastcall capGetStatus(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capSetScrollPos(unsigned hwnd, int lpP);
extern PACKAGE int __fastcall capGrabFrame(unsigned hwnd);
extern PACKAGE int __fastcall capGrabFrameNoStop(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureSequence(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureSequenceNoFile(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureStop(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureAbort(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureSingleFrameOpen(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureSingleFrameClose(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureSingleFrame(unsigned hwnd);
extern PACKAGE int __fastcall capCaptureGetSetup(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capCaptureSetSetup(unsigned hwnd, int s, Word wSize);
extern PACKAGE int __fastcall capSetMCIDeviceName(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capGetMCIDeviceName(unsigned hwnd, int szName, Word wSize);
extern PACKAGE int __fastcall capPaletteOpen(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capPaletteSave(unsigned hwnd, int szName);
extern PACKAGE int __fastcall capPalettePaste(unsigned hwnd);
extern PACKAGE int __fastcall capPaletteAuto(unsigned hwnd, Word iFrames, int iColors);
extern PACKAGE int __fastcall capPaletteManual(unsigned hwnd, Word fGrab, int iColors);
#pragma option push -w-inl
inline unsigned __stdcall capCreateCaptureWindow(char * lpszWindowName, unsigned dwStyle, int x, int 
	y, int nWidth, int nHeight, unsigned hwndParent, int nID)
{
	return capCreateCaptureWindowA(lpszWindowName, dwStyle, x, y, nWidth, nHeight, hwndParent, nID);
}
#pragma option pop


#pragma option push -w-inl
inline bool __stdcall capGetDriverDescription(unsigned wDriverIndex, char * lpszName, int cbName, char * 
	lpszVer, int cbVer)
{
	return capGetDriverDescriptionA(wDriverIndex, lpszName, cbName, lpszVer, cbVer);
}
#pragma option pop



}	/* namespace Avicaptura */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Avicaptura;
#endif
#pragma option pop	// -w-

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// AviCaptura

⌨️ 快捷键说明

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