📄 unamsacmapi.pas
字号:
//--------------------------------------------------------------------------
//
// ACM Format Tags
//
const
{$EXTERNALSYM ACMFORMATTAGDETAILS_FORMATTAG_CHARS }
ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 48;
type
pACMFORMATTAGDETAILSA = ^ACMFORMATTAGDETAILSA;
{$EXTERNALSYM ACMFORMATTAGDETAILSA }
ACMFORMATTAGDETAILSA = packed record
cbStruct : DWORD;
dwFormatTagIndex : DWORD;
dwFormatTag : DWORD;
cbFormatSize : DWORD;
fdwSupport : DWORD;
cStandardFormats : DWORD;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS - 1] of Char;
end;
pACMFORMATTAGDETAILSW = ^ACMFORMATTAGDETAILSW;
{$EXTERNALSYM ACMFORMATTAGDETAILSW }
ACMFORMATTAGDETAILSW = packed record
cbStruct : DWORD;
dwFormatTagIndex : DWORD;
dwFormatTag : DWORD;
cbFormatSize : DWORD;
fdwSupport : DWORD;
cStandardFormats : DWORD;
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS - 1] of WChar;
end;
{$EXTERNALSYM ACMFORMATTAGDETAILS }
ACMFORMATTAGDETAILS = ACMFORMATTAGDETAILSA;
pACMFORMATTAGDETAILS = pACMFORMATTAGDETAILSA;
{$EXTERNALSYM acm_FormatTagDetailsA }
function acm_formatTagDetailsA(had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatTagDetailsW }
function acm_formatTagDetailsW(had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatTagDetails }
function acm_formatTagDetails (had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILS; fdwDetails: DWORD): MMRESULT; stdcall;
const
{$EXTERNALSYM ACM_FORMATTAGDETAILSF_INDEX }
ACM_FORMATTAGDETAILSF_INDEX = $00000000;
{$EXTERNALSYM ACM_FORMATTAGDETAILSF_FORMATTAG }
ACM_FORMATTAGDETAILSF_FORMATTAG = $00000001;
{$EXTERNALSYM ACM_FORMATTAGDETAILSF_LARGESTSIZE }
ACM_FORMATTAGDETAILSF_LARGESTSIZE = $00000002;
{$EXTERNALSYM ACM_FORMATTAGDETAILSF_QUERYMASK }
ACM_FORMATTAGDETAILSF_QUERYMASK = $0000000F;
type
{$EXTERNALSYM ACMFORMATTAGENUMCBA }
ACMFORMATTAGENUMCBA = function(hadid: HACMDRIVERID; const paftd: ACMFORMATTAGDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall;
{$EXTERNALSYM ACMFORMATTAGENUMCBW }
ACMFORMATTAGENUMCBW = function(hadid: HACMDRIVERID; const paftd: ACMFORMATTAGDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall;
{$EXTERNALSYM ACMFORMATTAGENUMCB }
ACMFORMATTAGENUMCB = ACMFORMATTAGENUMCBA;
{$EXTERNALSYM acm_FormatTagEnumA }
function acm_formatTagEnumA(had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILSA; fnCallback: ACMFORMATTAGENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatTagEnumW }
function acm_formatTagEnumW(had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILSW; fnCallback: ACMFORMATTAGENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatTagEnum }
function acm_formatTagEnum (had: HACMDRIVER; var paftd: ACMFORMATTAGDETAILS; fnCallback: ACMFORMATTAGENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
//--------------------------------------------------------------------------;
//
// ACM Formats
//
const
{$EXTERNALSYM ACMFORMATDETAILS_FORMAT_CHARS }
ACMFORMATDETAILS_FORMAT_CHARS = 128;
type
pACMFORMATDETAILSA = ^ACMFORMATDETAILSA;
{$EXTERNALSYM ACMFORMATDETAILSA }
ACMFORMATDETAILSA = packed record
cbStruct : DWORD;
dwFormatIndex : DWORD;
dwFormatTag : DWORD;
fdwSupport : DWORD;
pwfx : PWAVEFORMATEX;
cbwfx : DWORD;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS - 1] of Char;
end;
pACMFORMATDETAILSW = ^ACMFORMATDETAILSW;
{$EXTERNALSYM ACMFORMATDETAILSW }
ACMFORMATDETAILSW = packed record
cbStruct : DWORD;
dwFormatIndex : DWORD;
dwFormatTag : DWORD;
fdwSupport : DWORD;
pwfx : PWAVEFORMATEX;
cbwfx : DWORD;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS - 1] of WChar;
end;
type
pACMFORMATDETAILS = pACMFORMATDETAILSA;
{$EXTERNALSYM ACMFORMATDETAILS }
ACMFORMATDETAILS = ACMFORMATDETAILSA;
{$EXTERNALSYM acm_FormatDetailsA }
function acm_formatDetailsA(had: HACMDRIVER; var pafd: ACMFORMATDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatDetailsW }
function acm_formatDetailsW(had: HACMDRIVER; var pafd: ACMFORMATDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatDetails }
function acm_formatDetails (had: HACMDRIVER; var pafd: ACMFORMATDETAILS; fdwDetails: DWORD): MMRESULT; stdcall;
const
{$EXTERNALSYM ACM_FORMATDETAILSF_INDEX }
ACM_FORMATDETAILSF_INDEX = $00000000;
{$EXTERNALSYM ACM_FORMATDETAILSF_FORMAT }
ACM_FORMATDETAILSF_FORMAT = $00000001;
{$EXTERNALSYM ACM_FORMATDETAILSF_QUERYMASK }
ACM_FORMATDETAILSF_QUERYMASK = $0000000F;
type
{$EXTERNALSYM ACMFORMATENUMCBA }
ACMFORMATENUMCBA = function(hadid: HACMDRIVERID; const pafd: ACMFORMATDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall;
{$EXTERNALSYM ACMFORMATENUMCBW }
ACMFORMATENUMCBW = function(hadid: HACMDRIVERID; const pafd: ACMFORMATDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall;
{$EXTERNALSYM ACMFORMATENUMCB }
ACMFORMATENUMCB = ACMFORMATENUMCBA;
{$EXTERNALSYM acm_FormatEnumA }
function acm_formatEnumA(had: HACMDRIVER; var pafd: ACMFORMATDETAILSA; fnCallback: ACMFORMATENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatEnumW }
function acm_formatEnumW(had: HACMDRIVER; var pafd: ACMFORMATDETAILSW; fnCallback: ACMFORMATENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatEnum }
function acm_formatEnum (had: HACMDRIVER; var pafd: ACMFORMATDETAILS; fnCallback: ACMFORMATENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall;
const
{$EXTERNALSYM ACM_FORMATENUMF_WFORMATTAG }
ACM_FORMATENUMF_WFORMATTAG = $00010000;
{$EXTERNALSYM ACM_FORMATENUMF_NCHANNELS }
ACM_FORMATENUMF_NCHANNELS = $00020000;
{$EXTERNALSYM ACM_FORMATENUMF_NSAMPLESPERSEC }
ACM_FORMATENUMF_NSAMPLESPERSEC = $00040000;
{$EXTERNALSYM ACM_FORMATENUMF_WBITSPERSAMPLE }
ACM_FORMATENUMF_WBITSPERSAMPLE = $00080000;
{$EXTERNALSYM ACM_FORMATENUMF_CONVERT }
ACM_FORMATENUMF_CONVERT = $00100000;
{$EXTERNALSYM ACM_FORMATENUMF_SUGGEST }
ACM_FORMATENUMF_SUGGEST = $00200000;
{$EXTERNALSYM ACM_FORMATENUMF_HARDWARE }
ACM_FORMATENUMF_HARDWARE = $00400000;
{$EXTERNALSYM ACM_FORMATENUMF_INPUT }
ACM_FORMATENUMF_INPUT = $00800000;
{$EXTERNALSYM ACM_FORMATENUMF_OUTPUT }
ACM_FORMATENUMF_OUTPUT = $01000000;
{$EXTERNALSYM acm_FormatSuggest }
function acm_formatSuggest(had: HACMDRIVER; const pwfxSrc: WAVEFORMATEX; var pwfxDst: WAVEFORMATEX; cbwfxDst: DWORD; fdwSuggest: DWORD): MMRESULT; stdcall;
const
{$EXTERNALSYM ACM_FORMATSUGGESTF_WFORMATTAG }
ACM_FORMATSUGGESTF_WFORMATTAG = $00010000;
{$EXTERNALSYM ACM_FORMATSUGGESTF_NCHANNELS }
ACM_FORMATSUGGESTF_NCHANNELS = $00020000;
{$EXTERNALSYM ACM_FORMATSUGGESTF_NSAMPLESPERSEC }
ACM_FORMATSUGGESTF_NSAMPLESPERSEC = $00040000;
{$EXTERNALSYM ACM_FORMATSUGGESTF_WBITSPERSAMPLE }
ACM_FORMATSUGGESTF_WBITSPERSAMPLE = $00080000;
{$EXTERNALSYM ACM_FORMATSUGGESTF_TYPEMASK }
ACM_FORMATSUGGESTF_TYPEMASK = $00FF0000;
{$EXTERNALSYM ACMHELPMSGSTRINGA }
ACMHELPMSGSTRINGA = 'acmchoose_help';
{$EXTERNALSYM ACMHELPMSGSTRINGW }
ACMHELPMSGSTRINGW = 'acmchoose_help';
{$EXTERNALSYM ACMHELPMSGCONTEXTMENUA }
ACMHELPMSGCONTEXTMENUA = 'acmchoose_contextmenu';
{$EXTERNALSYM ACMHELPMSGCONTEXTMENUW }
ACMHELPMSGCONTEXTMENUW = 'acmchoose_contextmenu';
{$EXTERNALSYM ACMHELPMSGCONTEXTHELPA }
ACMHELPMSGCONTEXTHELPA = 'acmchoose_contexthelp';
{$EXTERNALSYM ACMHELPMSGCONTEXTHELPW }
ACMHELPMSGCONTEXTHELPW = 'acmchoose_contexthelp';
{$EXTERNALSYM ACMHELPMSGSTRING }
ACMHELPMSGSTRING = ACMHELPMSGSTRINGA;
{$EXTERNALSYM ACMHELPMSGCONTEXTMENU }
ACMHELPMSGCONTEXTMENU = ACMHELPMSGCONTEXTMENUA;
{$EXTERNALSYM ACMHELPMSGCONTEXTHELP }
ACMHELPMSGCONTEXTHELP = ACMHELPMSGCONTEXTHELPA;
{$EXTERNALSYM MM_ACM_FORMATCHOOSE }
MM_ACM_FORMATCHOOSE = ($8000);
{$EXTERNALSYM FORMATCHOOSE_MESSAGE }
FORMATCHOOSE_MESSAGE = 0;
{$EXTERNALSYM FORMATCHOOSE_FORMATTAG_VERIFY }
FORMATCHOOSE_FORMATTAG_VERIFY = (FORMATCHOOSE_MESSAGE + 0);
{$EXTERNALSYM FORMATCHOOSE_FORMAT_VERIFY }
FORMATCHOOSE_FORMAT_VERIFY = (FORMATCHOOSE_MESSAGE + 1);
{$EXTERNALSYM FORMATCHOOSE_CUSTOM_VERIFY }
FORMATCHOOSE_CUSTOM_VERIFY = (FORMATCHOOSE_MESSAGE + 2);
type
{$EXTERNALSYM ACMFORMATCHOOSEHOOKPROCA }
ACMFORMATCHOOSEHOOKPROCA = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall;
{$EXTERNALSYM ACMFORMATCHOOSEHOOKPROCW }
ACMFORMATCHOOSEHOOKPROCW = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall;
{$EXTERNALSYM ACMFORMATCHOOSEHOOKPROC }
ACMFORMATCHOOSEHOOKPROC = ACMFORMATCHOOSEHOOKPROCA;
pACMFORMATCHOOSEA = ^ACMFORMATCHOOSEA;
{$EXTERNALSYM ACMFORMATCHOOSEA }
ACMFORMATCHOOSEA = packed record
cbStruct : DWORD; // sizeof(ACMFORMATCHOOSE)
fdwStyle : DWORD; // chooser style flags
hwndOwner : hWND; // caller's window handle
pwfx : pWAVEFORMATEX; // ptr to wfx buf to receive choice
cbwfx : DWORD; // size of mem buf for pwfx
pszTitle : LPCSTR; // dialog box title bar
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of Char;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of Char;
pszName : LPSTR; // custom name selection
cchName : DWORD; // size in chars of mem buf for pszName
fdwEnum : DWORD; // format enumeration restrictions
pwfxEnum : pWAVEFORMATEX; // format describing restrictions
hInstance : tHandle; // app instance containing dlg template
pszTemplateName : LPCSTR; // custom template name
lCustData : LPARAM; // data passed to hook fn.
pfnHook : ACMFORMATCHOOSEHOOKPROCA; // ptr to hook function
end;
pACMFORMATCHOOSEW = ^ACMFORMATCHOOSEW;
{$EXTERNALSYM ACMFORMATCHOOSEW }
ACMFORMATCHOOSEW = packed record
cbStruct : DWORD; // sizeof(ACMFORMATCHOOSE)
fdwStyle : DWORD; // chooser style flags
hwndOwner : hWND; // caller's window handle
pwfx : pWAVEFORMATEX; // ptr to wfx buf to receive choice
cbwfx : DWORD; // size of mem buf for pwfx
pszTitle : LPCWSTR; // dialog box title bar
szFormatTag : array[0..ACMFORMATTAGDETAILS_FORMATTAG_CHARS-1] of WChar;
szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS-1] of WChar;
pszName : LPWSTR; // custom name selection
cchName : DWORD; // size in chars of mem buf for pszName
fdwEnum : DWORD; // format enumeration restrictions
pwfxEnum : PWAVEFORMATEX; // format describing restrictions
hInstance : tHandle; // app instance containing dlg template
pszTemplateName : LPCWSTR; // custom template name
lCustData : LPARAM; // data passed to hook fn.
pfnHook : ACMFORMATCHOOSEHOOKPROCW; // ptr to hook function
end;
{$EXTERNALSYM ACMFORMATCHOOSE }
ACMFORMATCHOOSE = ACMFORMATCHOOSEA;
pACMFORMATCHOOSE = pACMFORMATCHOOSEA;
const
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_SHOWHELP }
ACMFORMATCHOOSE_STYLEF_SHOWHELP = $00000004;
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_ENABLEHOOK }
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK = $00000008;
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE }
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE = $00000010;
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE }
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE = $00000020;
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT }
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT = $00000040;
{$EXTERNALSYM ACMFORMATCHOOSE_STYLEF_CONTEXTHELP }
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP = $00000080;
{$EXTERNALSYM acm_FormatChooseA }
function acm_formatChooseA(var pafmtc: ACMFORMATCHOOSEA): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatChooseW }
function acm_formatChooseW(var pafmtc: ACMFORMATCHOOSEW): MMRESULT; stdcall;
{$EXTERNALSYM acm_FormatChoose }
function acm_formatChoose (var pafmtc: ACMFORMATCHOOSE ): MMRESULT; stdcall;
//--------------------------------------------------------------------------;
//
// ACM Filter Tags
//
const
{$EXTERNALSYM ACMFILTERTAGDETAILS_FILTERTAG_CHARS }
ACMFILTERTAGDETAILS_FILTERTAG_CHARS = 48;
type
pACMFILTERTAGDETAILSA = ^ACMFILTERTAGDETAILSA;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -