📄 amcap.h
字号:
//------------------------------------------------------------------------------
// File: AMCap.h
//
// Desc: DirectShow sample code - audio/video capture.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Macros
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
// device notification definitions
#if (WINVER < 0x0500)
#define DBT_DEVTYP_DEVICEINTERFACE 0x00000005 // device interface class
#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
typedef PVOID HDEVNOTIFY;
#endif
extern "C"
{
typedef BOOL (/* WINUSERAPI */ WINAPI *PUnregisterDeviceNotification)(
IN HDEVNOTIFY Handle
);
typedef HDEVNOTIFY (/* WINUSERAPI */ WINAPI *PRegisterDeviceNotificationA)(
IN HANDLE hRecipient,
IN LPVOID NotificationFilter,
IN DWORD Flags
);
typedef HDEVNOTIFY (/* WINUSERAPI */ WINAPI *PRegisterDeviceNotificationW)(
IN HANDLE hRecipient,
IN LPVOID NotificationFilter,
IN DWORD Flags
);
}
#ifdef UNICODE
#define PRegisterDeviceNotification PRegisterDeviceNotificationW
#else
#define PRegisterDeviceNotification PRegisterDeviceNotificationA
#endif // !UNICODE
#if (WINVER < 0x0500)
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
DWORD dbcc_size;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
char dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
DWORD dbcc_size;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
wchar_t dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
#ifdef UNICODE
typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
#else
typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
#endif // UNICODE
#endif // WINVER
//
// Resource constants
//
#define ID_APP 1000
/* Menu Items */
#define MENU_EXIT 4
#define MENU_SET_CAP_FILE 5
#define MENU_ALLOC_CAP_FILE 6
#define MENU_START_CAP 7
#define MENU_STOP_CAP 8
#define MENU_CAP_CC 9
#define MENU_CAP_AUDIO 12
#define MENU_AUDIOFORMAT 13
#define MENU_FRAMERATE 14
#define MENU_PREVIEW 15
#define MENU_VDEVICE0 16
#define MENU_VDEVICE1 17
#define MENU_VDEVICE2 18
#define MENU_VDEVICE3 19
#define MENU_VDEVICE4 20
#define MENU_VDEVICE5 21
#define MENU_VDEVICE6 22
#define MENU_VDEVICE7 23
#define MENU_VDEVICE8 24
#define MENU_VDEVICE9 25
#define MENU_ADEVICE0 26
#define MENU_ADEVICE1 27
#define MENU_ADEVICE2 28
#define MENU_ADEVICE3 29
#define MENU_ADEVICE4 30
#define MENU_ADEVICE5 31
#define MENU_ADEVICE6 32
#define MENU_ADEVICE7 33
#define MENU_ADEVICE8 34
#define MENU_ADEVICE9 35
#define MENU_ABOUT 36
#define MENU_SAVE_CAP_FILE 37
#define MENU_NOMASTER 38
#define MENU_AUDIOMASTER 39
#define MENU_VIDEOMASTER 40
#define MENU_TIMELIMIT 41
#define MENU_DIALOG0 42
#define MENU_DIALOG1 43
#define MENU_DIALOG2 44
#define MENU_DIALOG3 45
#define MENU_DIALOG4 46
#define MENU_DIALOG5 47
#define MENU_DIALOG6 48
#define MENU_DIALOG7 49
#define MENU_DIALOG8 50
#define MENU_DIALOG9 51
#define MENU_DIALOGA 52
#define MENU_DIALOGB 53
#define MENU_DIALOGC 54
#define MENU_DIALOGD 55
#define MENU_DIALOGE 56
#define MENU_DIALOGF 57
#define MENU_MPEG2 58 // !!! more?
// Dialogs
#define IDD_ABOUT 600
#define IDD_AllocCapFileSpace 601
#define IDD_FrameRateDialog 602
#define IDD_PressAKeyDialog 603
#define IDD_TimeLimitDialog 604
// defines for dialogs
#define IDD_SetCapFileFree 400
#define IDD_SetCapFileSize 401
#define IDC_FRAMERATE 402
#define IDC_CAPFILENAME 403
#define IDC_TIMELIMIT 404
#define IDC_USETIMELIMIT 405
#define IDC_USEFRAMERATE 406
// window messages
#define WM_FGNOTIFY WM_USER+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -