📄 directsound.pas
字号:
IID_IDirectSoundCaptureBuffer = IDirectSoundCaptureBuffer;
{$EXTERNALSYM IID_IDirectSoundCaptureBuffer}
{$IFDEF DIRECTSOUND_VERSION_8} // #if DIRECTSOUND_VERSION >= 0x0800
//
// IDirectSoundCaptureBuffer8
//
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundCaptureBuffer8);'}
{$EXTERNALSYM IDirectSoundCaptureBuffer8}
IDirectSoundCaptureBuffer8 = interface(IDirectSoundCaptureBuffer)
['{00990df4-0dbb-4872-833e-6d303e80aeb6}']
// IDirectSoundCaptureBuffer8 methods
function GetObjectInPath(const rguidObject: TGUID; dwIndex: DWORD; const rguidInterface: TGUID; out ppObject{IUnknown}): HResult; stdcall;
function GetFXStatus(dwFXCount: DWORD; pdwFXStatus: PDWORD): HResult; stdcall;
end;
IID_IDirectSoundCaptureBuffer8 = IDirectSoundCaptureBuffer8;
{$EXTERNALSYM IID_IDirectSoundCaptureBuffer8}
{$ENDIF} // DIRECTSOUND_VERSION >= 0x0800
//
// IDirectSoundNotify
//
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundNotify);'}
{$EXTERNALSYM IDirectSoundNotify}
IDirectSoundNotify = interface(IUnknown)
['{b0210783-89cd-11d0-af08-00a0c925cd16}']
// IDirectSoundNotify methods
function SetNotificationPositions(dwPositionNotifies: DWORD; pcPositionNotifies: PDSBPositionNotify): HResult; stdcall;
end;
IID_IDirectSoundNotify = IDirectSoundNotify;
{$EXTERNALSYM IID_IDirectSoundNotify}
//
// IKsPropertySet
//
const
KSPROPERTY_SUPPORT_GET = $00000001;
{$EXTERNALSYM KSPROPERTY_SUPPORT_GET}
KSPROPERTY_SUPPORT_SET = $00000002;
{$EXTERNALSYM KSPROPERTY_SUPPORT_SET}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IKsPropertySet);'}
{$EXTERNALSYM IKsPropertySet}
IKsPropertySet = interface(IUnknown)
['{31efac30-515c-11d0-a9aa-00aa0061be93}']
// IKsPropertySet methods
function Get(const rguidPropSet: TGUID; ulId: ULONG; pInstanceData: Pointer; ulInstanceLength: ULONG; pPropertyData: Pointer; ulDataLength: ULONG; out pulBytesReturned: ULONG): HResult; stdcall;
function _Set(const rguidPropSet: TGUID; ulId: ULONG; pInstanceData: Pointer; ulInstanceLength: ULONG; pPropertyData: Pointer; ulDataLength: ULONG): HResult; stdcall;
function QuerySupport(const rguidPropSet: TGUID; ulId: ULONG; out pulTypeSupport: ULONG): HResult; stdcall;
end;
IID_IKsPropertySet = IKsPropertySet;
{$EXTERNALSYM IID_IKsPropertySet}
{$IFDEF DIRECTSOUND_VERSION_8} // #if DIRECTSOUND_VERSION >= 0x0800
//
// IDirectSoundFXGargle
//
PDSFXGargle = ^TDSFXGargle;
_DSFXGargle = packed record
dwRateHz: DWORD; // Rate of modulation in hz
dwWaveShape: DWORD; // DSFXGARGLE_WAVE_xxx
end;
{$EXTERNALSYM _DSFXGargle}
DSFXGargle = _DSFXGargle;
{$EXTERNALSYM DSFXGargle}
TDSFXGargle = _DSFXGargle;
const
DSFXGARGLE_WAVE_TRIANGLE = 0;
{$EXTERNALSYM DSFXGARGLE_WAVE_TRIANGLE}
DSFXGARGLE_WAVE_SQUARE = 1;
{$EXTERNALSYM DSFXGARGLE_WAVE_SQUARE}
DSFXGARGLE_RATEHZ_MIN = 1;
{$EXTERNALSYM DSFXGARGLE_RATEHZ_MIN}
DSFXGARGLE_RATEHZ_MAX = 1000;
{$EXTERNALSYM DSFXGARGLE_RATEHZ_MAX}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXGargle);'}
{$EXTERNALSYM IDirectSoundFXGargle}
IDirectSoundFXGargle = interface(IUnknown)
['{d616f352-d622-11ce-aac5-0020af0b99a3}']
// IDirectSoundFXGargle methods
function SetAllParameters(const pcDsFxGargle: TDSFXGargle): HResult; stdcall;
function GetAllParameters(out pDsFxGargle: TDSFXGargle): HResult; stdcall;
end;
IID_IDirectSoundFXGargle = IDirectSoundFXGargle;
{$EXTERNALSYM IID_IDirectSoundFXGargle}
//
// IDirectSoundFXChorus
//
PDSFXChorus = ^TDSFXChorus;
_DSFXChorus = packed record
fWetDryMix: Single;
fDepth: Single;
fFeedback: Single;
fFrequency: Single;
lWaveform: Longint; // LFO shape; DSFXCHORUS_WAVE_xxx
fDelay: Single;
lPhase: Longint;
end;
{$EXTERNALSYM _DSFXChorus}
DSFXChorus = _DSFXChorus;
{$EXTERNALSYM DSFXChorus}
TDSFXChorus = _DSFXChorus;
const
DSFXCHORUS_WAVE_TRIANGLE = 0;
{$EXTERNALSYM DSFXCHORUS_WAVE_TRIANGLE}
DSFXCHORUS_WAVE_SIN = 1;
{$EXTERNALSYM DSFXCHORUS_WAVE_SIN}
DSFXCHORUS_WETDRYMIX_MIN = 0.0;
{$EXTERNALSYM DSFXCHORUS_WETDRYMIX_MIN}
DSFXCHORUS_WETDRYMIX_MAX = 100.0;
{$EXTERNALSYM DSFXCHORUS_WETDRYMIX_MAX}
DSFXCHORUS_DEPTH_MIN = 0.0;
{$EXTERNALSYM DSFXCHORUS_DEPTH_MIN}
DSFXCHORUS_DEPTH_MAX = 100.0;
{$EXTERNALSYM DSFXCHORUS_DEPTH_MAX}
DSFXCHORUS_FEEDBACK_MIN = -99.0;
{$EXTERNALSYM DSFXCHORUS_FEEDBACK_MIN}
DSFXCHORUS_FEEDBACK_MAX = 99.0;
{$EXTERNALSYM DSFXCHORUS_FEEDBACK_MAX}
DSFXCHORUS_FREQUENCY_MIN = 0.0;
{$EXTERNALSYM DSFXCHORUS_FREQUENCY_MIN}
DSFXCHORUS_FREQUENCY_MAX = 10.0;
{$EXTERNALSYM DSFXCHORUS_FREQUENCY_MAX}
DSFXCHORUS_DELAY_MIN = 0.0;
{$EXTERNALSYM DSFXCHORUS_DELAY_MIN}
DSFXCHORUS_DELAY_MAX = 20.0;
{$EXTERNALSYM DSFXCHORUS_DELAY_MAX}
DSFXCHORUS_PHASE_MIN = 0;
{$EXTERNALSYM DSFXCHORUS_PHASE_MIN}
DSFXCHORUS_PHASE_MAX = 4;
{$EXTERNALSYM DSFXCHORUS_PHASE_MAX}
DSFXCHORUS_PHASE_NEG_180 = 0;
{$EXTERNALSYM DSFXCHORUS_PHASE_NEG_180}
DSFXCHORUS_PHASE_NEG_90 = 1;
{$EXTERNALSYM DSFXCHORUS_PHASE_NEG_90}
DSFXCHORUS_PHASE_ZERO = 2;
{$EXTERNALSYM DSFXCHORUS_PHASE_ZERO}
DSFXCHORUS_PHASE_90 = 3;
{$EXTERNALSYM DSFXCHORUS_PHASE_90}
DSFXCHORUS_PHASE_180 = 4;
{$EXTERNALSYM DSFXCHORUS_PHASE_180}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXChorus);'}
{$EXTERNALSYM IDirectSoundFXChorus}
IDirectSoundFXChorus = interface(IUnknown)
['{880842e3-145f-43e6-a934-a71806e50547}']
// IDirectSoundFXChorus methods
function SetAllParameters(const pcDsFxChorus: TDSFXChorus): HResult; stdcall;
function GetAllParameters(out pDsFxChorus: TDSFXChorus): HResult; stdcall;
end;
IID_IDirectSoundFXChorus = IDirectSoundFXChorus;
{$EXTERNALSYM IID_IDirectSoundFXChorus}
//
// IDirectSoundFXFlanger
//
PDSFXFlanger = ^TDSFXFlanger;
_DSFXFlanger = packed record
fWetDryMix: Single;
fDepth: Single;
fFeedback: Single;
fFrequency: Single;
lWaveform: Longint;
fDelay: Single;
lPhase: Longint;
end;
{$EXTERNALSYM _DSFXFlanger}
DSFXFlanger = _DSFXFlanger;
{$EXTERNALSYM DSFXFlanger}
TDSFXFlanger = _DSFXFlanger;
const
DSFXFLANGER_WAVE_TRIANGLE = 0;
{$EXTERNALSYM DSFXFLANGER_WAVE_TRIANGLE}
DSFXFLANGER_WAVE_SIN = 1;
{$EXTERNALSYM DSFXFLANGER_WAVE_SIN}
DSFXFLANGER_WETDRYMIX_MIN = 0.0;
{$EXTERNALSYM DSFXFLANGER_WETDRYMIX_MIN}
DSFXFLANGER_WETDRYMIX_MAX = 100.0;
{$EXTERNALSYM DSFXFLANGER_WETDRYMIX_MAX}
DSFXFLANGER_FREQUENCY_MIN = 0.0;
{$EXTERNALSYM DSFXFLANGER_FREQUENCY_MIN}
DSFXFLANGER_FREQUENCY_MAX = 10.0;
{$EXTERNALSYM DSFXFLANGER_FREQUENCY_MAX}
DSFXFLANGER_DEPTH_MIN = 0.0;
{$EXTERNALSYM DSFXFLANGER_DEPTH_MIN}
DSFXFLANGER_DEPTH_MAX = 100.0;
{$EXTERNALSYM DSFXFLANGER_DEPTH_MAX}
DSFXFLANGER_PHASE_MIN = 0;
{$EXTERNALSYM DSFXFLANGER_PHASE_MIN}
DSFXFLANGER_PHASE_MAX = 4;
{$EXTERNALSYM DSFXFLANGER_PHASE_MAX}
DSFXFLANGER_FEEDBACK_MIN = -99.0;
{$EXTERNALSYM DSFXFLANGER_FEEDBACK_MIN}
DSFXFLANGER_FEEDBACK_MAX = 99.0;
{$EXTERNALSYM DSFXFLANGER_FEEDBACK_MAX}
DSFXFLANGER_DELAY_MIN = 0.0;
{$EXTERNALSYM DSFXFLANGER_DELAY_MIN}
DSFXFLANGER_DELAY_MAX = 4.0;
{$EXTERNALSYM DSFXFLANGER_DELAY_MAX}
DSFXFLANGER_PHASE_NEG_180 = 0;
{$EXTERNALSYM DSFXFLANGER_PHASE_NEG_180}
DSFXFLANGER_PHASE_NEG_90 = 1;
{$EXTERNALSYM DSFXFLANGER_PHASE_NEG_90}
DSFXFLANGER_PHASE_ZERO = 2;
{$EXTERNALSYM DSFXFLANGER_PHASE_ZERO}
DSFXFLANGER_PHASE_90 = 3;
{$EXTERNALSYM DSFXFLANGER_PHASE_90}
DSFXFLANGER_PHASE_180 = 4;
{$EXTERNALSYM DSFXFLANGER_PHASE_180}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXFlanger);'}
{$EXTERNALSYM IDirectSoundFXFlanger}
IDirectSoundFXFlanger = interface(IUnknown)
['{903e9878-2c92-4072-9b2c-ea68f5396783}']
// IDirectSoundFXFlanger methods
function SetAllParameters(const pcDsFxFlanger: TDSFXFlanger): HResult; stdcall;
function GetAllParameters(out pDsFxFlanger: TDSFXFlanger): HResult; stdcall;
end;
IID_IDirectSoundFXFlanger = IDirectSoundFXFlanger;
{$EXTERNALSYM IID_IDirectSoundFXFlanger}
//
// IDirectSoundFXEcho
//
PDSFXEcho = ^TDSFXEcho;
_DSFXEcho = packed record
fWetDryMix: Single;
fFeedback: Single;
fLeftDelay: Single;
fRightDelay: Single;
lPanDelay: Longint;
end;
{$EXTERNALSYM _DSFXEcho}
DSFXEcho = _DSFXEcho;
{$EXTERNALSYM DSFXEcho}
TDSFXEcho = _DSFXEcho;
const
DSFXECHO_WETDRYMIX_MIN = 0.0;
{$EXTERNALSYM DSFXECHO_WETDRYMIX_MIN}
DSFXECHO_WETDRYMIX_MAX = 100.0;
{$EXTERNALSYM DSFXECHO_WETDRYMIX_MAX}
DSFXECHO_FEEDBACK_MIN = 0.0;
{$EXTERNALSYM DSFXECHO_FEEDBACK_MIN}
DSFXECHO_FEEDBACK_MAX = 100.0;
{$EXTERNALSYM DSFXECHO_FEEDBACK_MAX}
DSFXECHO_LEFTDELAY_MIN = 1.0;
{$EXTERNALSYM DSFXECHO_LEFTDELAY_MIN}
DSFXECHO_LEFTDELAY_MAX = 2000.0;
{$EXTERNALSYM DSFXECHO_LEFTDELAY_MAX}
DSFXECHO_RIGHTDELAY_MIN = 1.0;
{$EXTERNALSYM DSFXECHO_RIGHTDELAY_MIN}
DSFXECHO_RIGHTDELAY_MAX = 2000.0;
{$EXTERNALSYM DSFXECHO_RIGHTDELAY_MAX}
DSFXECHO_PANDELAY_MIN = 0;
{$EXTERNALSYM DSFXECHO_PANDELAY_MIN}
DSFXECHO_PANDELAY_MAX = 1;
{$EXTERNALSYM DSFXECHO_PANDELAY_MAX}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXEcho);'}
{$EXTERNALSYM IDirectSoundFXEcho}
IDirectSoundFXEcho = interface(IUnknown)
['{8bd28edf-50db-4e92-a2bd-445488d1ed42}']
// IDirectSoundFXEcho methods
function SetAllParameters(const pcDsFxEcho: TDSFXEcho): HResult; stdcall;
function GetAllParameters(out pDsFxEcho: TDSFXEcho): HResult; stdcall;
end;
IID_IDirectSoundFXEcho = IDirectSoundFXEcho;
{$EXTERNALSYM IID_IDirectSoundFXEcho}
//
// IDirectSoundFXDistortion
//
PDSFXDistortion = ^TDSFXDistortion;
_DSFXDistortion = packed record
fGain: Single;
fEdge: Single;
fPostEQCenterFrequency: Single;
fPostEQBandwidth: Single;
fPreLowpassCutoff: Single;
end;
{$EXTERNALSYM _DSFXDistortion}
DSFXDistortion = _DSFXDistortion;
{$EXTERNALSYM DSFXDistortion}
TDSFXDistortion = _DSFXDistortion;
const
DSFXDISTORTION_GAIN_MIN = -60.0;
{$EXTERNALSYM DSFXDISTORTION_GAIN_MIN}
DSFXDISTORTION_GAIN_MAX = 0.0;
{$EXTERNALSYM DSFXDISTORTION_GAIN_MAX}
DSFXDISTORTION_EDGE_MIN = 0.0;
{$EXTERNALSYM DSFXDISTORTION_EDGE_MIN}
DSFXDISTORTION_EDGE_MAX = 100.0;
{$EXTERNALSYM DSFXDISTORTION_EDGE_MAX}
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN = 100.0;
{$EXTERNALSYM DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -