📄 directsound.pas
字号:
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX = 8000.0;
{$EXTERNALSYM DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX}
DSFXDISTORTION_POSTEQBANDWIDTH_MIN = 100.0;
{$EXTERNALSYM DSFXDISTORTION_POSTEQBANDWIDTH_MIN}
DSFXDISTORTION_POSTEQBANDWIDTH_MAX = 8000.0;
{$EXTERNALSYM DSFXDISTORTION_POSTEQBANDWIDTH_MAX}
DSFXDISTORTION_PRELOWPASSCUTOFF_MIN = 100.0;
{$EXTERNALSYM DSFXDISTORTION_PRELOWPASSCUTOFF_MIN}
DSFXDISTORTION_PRELOWPASSCUTOFF_MAX = 8000.0;
{$EXTERNALSYM DSFXDISTORTION_PRELOWPASSCUTOFF_MAX}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXDistortion);'}
{$EXTERNALSYM IDirectSoundFXDistortion}
IDirectSoundFXDistortion = interface(IUnknown)
['{8ecf4326-455f-4d8b-bda9-8d5d3e9e3e0b}']
// IDirectSoundFXDistortion methods
function SetAllParameters(const pcDsFxDistortion: TDSFXDistortion): HResult; stdcall;
function GetAllParameters(out pDsFxDistortion: TDSFXDistortion): HResult; stdcall;
end;
IID_IDirectSoundFXDistortion = IDirectSoundFXDistortion;
{$EXTERNALSYM IID_IDirectSoundFXDistortion}
//
// IDirectSoundFXCompressor
//
PDSFXCompressor = ^TDSFXCompressor;
_DSFXCompressor = packed record
fGain: Single;
fAttack: Single;
fRelease: Single;
fThreshold: Single;
fRatio: Single;
fPredelay: Single;
end;
{$EXTERNALSYM _DSFXCompressor}
DSFXCompressor = _DSFXCompressor;
{$EXTERNALSYM DSFXCompressor}
TDSFXCompressor = _DSFXCompressor;
const
DSFXCOMPRESSOR_GAIN_MIN = -60.0;
{$EXTERNALSYM DSFXCOMPRESSOR_GAIN_MIN}
DSFXCOMPRESSOR_GAIN_MAX = 60.0;
{$EXTERNALSYM DSFXCOMPRESSOR_GAIN_MAX}
DSFXCOMPRESSOR_ATTACK_MIN = 0.01;
{$EXTERNALSYM DSFXCOMPRESSOR_ATTACK_MIN}
DSFXCOMPRESSOR_ATTACK_MAX = 500.0;
{$EXTERNALSYM DSFXCOMPRESSOR_ATTACK_MAX}
DSFXCOMPRESSOR_RELEASE_MIN = 50.0;
{$EXTERNALSYM DSFXCOMPRESSOR_RELEASE_MIN}
DSFXCOMPRESSOR_RELEASE_MAX = 3000.0;
{$EXTERNALSYM DSFXCOMPRESSOR_RELEASE_MAX}
DSFXCOMPRESSOR_THRESHOLD_MIN = -60.0;
{$EXTERNALSYM DSFXCOMPRESSOR_THRESHOLD_MIN}
DSFXCOMPRESSOR_THRESHOLD_MAX = 0.0;
{$EXTERNALSYM DSFXCOMPRESSOR_THRESHOLD_MAX}
DSFXCOMPRESSOR_RATIO_MIN = 1.0;
{$EXTERNALSYM DSFXCOMPRESSOR_RATIO_MIN}
DSFXCOMPRESSOR_RATIO_MAX = 100.0;
{$EXTERNALSYM DSFXCOMPRESSOR_RATIO_MAX}
DSFXCOMPRESSOR_PREDELAY_MIN = 0.0;
{$EXTERNALSYM DSFXCOMPRESSOR_PREDELAY_MIN}
DSFXCOMPRESSOR_PREDELAY_MAX = 4.0;
{$EXTERNALSYM DSFXCOMPRESSOR_PREDELAY_MAX}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXCompressor);'}
{$EXTERNALSYM IDirectSoundFXCompressor}
IDirectSoundFXCompressor = interface(IUnknown)
['{4bbd1154-62f6-4e2c-a15c-d3b6c417f7a0}']
// IDirectSoundFXCompressor methods
function SetAllParameters(const pcDsFxCompressor: TDSFXCompressor): HResult; stdcall;
function GetAllParameters(out pDsFxCompressor: TDSFXCompressor): HResult; stdcall;
end;
IID_IDirectSoundFXCompressor = IDirectSoundFXCompressor;
{$EXTERNALSYM IID_IDirectSoundFXCompressor}
//
// IDirectSoundFXParamEq
//
PDSFXParamEq = ^TDSFXParamEq;
_DSFXParamEq = packed record
fCenter: Single;
fBandwidth: Single;
fGain: Single;
end;
{$EXTERNALSYM _DSFXParamEq}
DSFXParamEq = _DSFXParamEq;
{$EXTERNALSYM DSFXParamEq}
TDSFXParamEq = _DSFXParamEq;
const
DSFXPARAMEQ_CENTER_MIN = 80.0;
{$EXTERNALSYM DSFXPARAMEQ_CENTER_MIN}
DSFXPARAMEQ_CENTER_MAX = 16000.0;
{$EXTERNALSYM DSFXPARAMEQ_CENTER_MAX}
DSFXPARAMEQ_BANDWIDTH_MIN = 1.0;
{$EXTERNALSYM DSFXPARAMEQ_BANDWIDTH_MIN}
DSFXPARAMEQ_BANDWIDTH_MAX = 36.0;
{$EXTERNALSYM DSFXPARAMEQ_BANDWIDTH_MAX}
DSFXPARAMEQ_GAIN_MIN = -15.0;
{$EXTERNALSYM DSFXPARAMEQ_GAIN_MIN}
DSFXPARAMEQ_GAIN_MAX = 15.0;
{$EXTERNALSYM DSFXPARAMEQ_GAIN_MAX}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXParamEq);'}
{$EXTERNALSYM IDirectSoundFXParamEq}
IDirectSoundFXParamEq = interface(IUnknown)
['{c03ca9fe-fe90-4204-8078-82334cd177da}']
// IDirectSoundFXParamEq methods
function SetAllParameters(const pcDsFxParamEq: TDSFXParamEq): HResult; stdcall;
function GetAllParameters(out pDsFxParamEq: TDSFXParamEq): HResult; stdcall;
end;
IID_IDirectSoundFXParamEq = IDirectSoundFXParamEq;
{$EXTERNALSYM IID_IDirectSoundFXParamEq}
//
// IDirectSoundFXI3DL2Reverb
//
PDSFXI3DL2Reverb = ^TDSFXI3DL2Reverb;
_DSFXI3DL2Reverb = packed record
lRoom: Longint; // [-10000, 0] default: -1000 mB
lRoomHF: Longint; // [-10000, 0] default: 0 mB
flRoomRolloffFactor: Single; // [0.0, 10.0] default: 0.0
flDecayTime: Single; // [0.1, 20.0] default: 1.49s
flDecayHFRatio: Single; // [0.1, 2.0] default: 0.83
lReflections: Longint; // [-10000, 1000] default: -2602 mB
flReflectionsDelay: Single; // [0.0, 0.3] default: 0.007 s
lReverb: Longint; // [-10000, 2000] default: 200 mB
flReverbDelay: Single; // [0.0, 0.1] default: 0.011 s
flDiffusion: Single; // [0.0, 100.0] default: 100.0 %
flDensity: Single; // [0.0, 100.0] default: 100.0 %
flHFReference: Single; // [20.0, 20000.0] default: 5000.0 Hz
end;
{$EXTERNALSYM _DSFXI3DL2Reverb}
DSFXI3DL2Reverb = _DSFXI3DL2Reverb;
{$EXTERNALSYM DSFXI3DL2Reverb}
TDSFXI3DL2Reverb = _DSFXI3DL2Reverb;
const
DSFX_I3DL2REVERB_ROOM_MIN = (-10000);
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOM_MIN}
DSFX_I3DL2REVERB_ROOM_MAX = 0;
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOM_MAX}
DSFX_I3DL2REVERB_ROOM_DEFAULT = (-1000);
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOM_DEFAULT}
DSFX_I3DL2REVERB_ROOMHF_MIN = (-10000);
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMHF_MIN}
DSFX_I3DL2REVERB_ROOMHF_MAX = 0;
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMHF_MAX}
DSFX_I3DL2REVERB_ROOMHF_DEFAULT = (-100);
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMHF_DEFAULT}
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN}
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX = 10.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX}
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT}
DSFX_I3DL2REVERB_DECAYTIME_MIN = 0.1;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYTIME_MIN}
DSFX_I3DL2REVERB_DECAYTIME_MAX = 20.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYTIME_MAX}
DSFX_I3DL2REVERB_DECAYTIME_DEFAULT = 1.49;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYTIME_DEFAULT}
DSFX_I3DL2REVERB_DECAYHFRATIO_MIN = 0.1;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYHFRATIO_MIN}
DSFX_I3DL2REVERB_DECAYHFRATIO_MAX = 2.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYHFRATIO_MAX}
DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT = 0.83;
{$EXTERNALSYM DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT}
DSFX_I3DL2REVERB_REFLECTIONS_MIN = (-10000);
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONS_MIN}
DSFX_I3DL2REVERB_REFLECTIONS_MAX = 1000;
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONS_MAX}
DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT = (-2602);
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT}
DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN}
DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX = 0.3;
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX}
DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT = 0.007;
{$EXTERNALSYM DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT}
DSFX_I3DL2REVERB_REVERB_MIN = (-10000);
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERB_MIN}
DSFX_I3DL2REVERB_REVERB_MAX = 2000;
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERB_MAX}
DSFX_I3DL2REVERB_REVERB_DEFAULT = (200);
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERB_DEFAULT}
DSFX_I3DL2REVERB_REVERBDELAY_MIN = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERBDELAY_MIN}
DSFX_I3DL2REVERB_REVERBDELAY_MAX = 0.1;
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERBDELAY_MAX}
DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT = 0.011;
{$EXTERNALSYM DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT}
DSFX_I3DL2REVERB_DIFFUSION_MIN = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DIFFUSION_MIN}
DSFX_I3DL2REVERB_DIFFUSION_MAX = 100.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DIFFUSION_MAX}
DSFX_I3DL2REVERB_DIFFUSION_DEFAULT = 100.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DIFFUSION_DEFAULT}
DSFX_I3DL2REVERB_DENSITY_MIN = 0.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DENSITY_MIN}
DSFX_I3DL2REVERB_DENSITY_MAX = 100.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DENSITY_MAX}
DSFX_I3DL2REVERB_DENSITY_DEFAULT = 100.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_DENSITY_DEFAULT}
DSFX_I3DL2REVERB_HFREFERENCE_MIN = 20.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_HFREFERENCE_MIN}
DSFX_I3DL2REVERB_HFREFERENCE_MAX = 20000.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_HFREFERENCE_MAX}
DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT = 5000.0;
{$EXTERNALSYM DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT}
DSFX_I3DL2REVERB_QUALITY_MIN = 0;
{$EXTERNALSYM DSFX_I3DL2REVERB_QUALITY_MIN}
DSFX_I3DL2REVERB_QUALITY_MAX = 3;
{$EXTERNALSYM DSFX_I3DL2REVERB_QUALITY_MAX}
DSFX_I3DL2REVERB_QUALITY_DEFAULT = 2;
{$EXTERNALSYM DSFX_I3DL2REVERB_QUALITY_DEFAULT}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXI3DL2Reverb);'}
{$EXTERNALSYM IDirectSoundFXI3DL2Reverb}
IDirectSoundFXI3DL2Reverb = interface(IUnknown)
['{4b166a6a-0d66-43f3-80e3-ee6280dee1a4}']
// IDirectSoundFXI3DL2Reverb methods
function SetAllParameters(const pcDsFxI3DL2Reverb: TDSFXI3DL2Reverb): HResult; stdcall;
function GetAllParameters(out pDsFxI3DL2Reverb: TDSFXI3DL2Reverb): HResult; stdcall;
function SetPreset(dwPreset: DWORD): HResult; stdcall;
function GetPreset(out pdwPreset: DWORD): HResult; stdcall;
function SetQuality(lQuality: Longint): HResult; stdcall;
function GetQuality(out plQuality: Longint): HResult; stdcall;
end;
IID_IDirectSoundFXI3DL2Reverb = IDirectSoundFXI3DL2Reverb;
{$EXTERNALSYM IID_IDirectSoundFXI3DL2Reverb}
//
// IDirectSoundFXWavesReverb
//
PDSFXWavesReverb = ^TDSFXWavesReverb;
_DSFXWavesReverb = packed record
fInGain: Single; // [-96.0,0.0] default: 0.0 dB
fReverbMix: Single; // [-96.0,0.0] default: 0.0 db
fReverbTime: Single; // [0.001,3000.0] default: 1000.0 ms
fHighFreqRTRatio: Single; // [0.001,0.999] default: 0.001
end;
{$EXTERNALSYM _DSFXWavesReverb}
DSFXWavesReverb = _DSFXWavesReverb;
{$EXTERNALSYM DSFXWavesReverb}
TDSFXWavesReverb = _DSFXWavesReverb;
const
DSFX_WAVESREVERB_INGAIN_MIN = -96.0;
{$EXTERNALSYM DSFX_WAVESREVERB_INGAIN_MIN}
DSFX_WAVESREVERB_INGAIN_MAX = 0.0;
{$EXTERNALSYM DSFX_WAVESREVERB_INGAIN_MAX}
DSFX_WAVESREVERB_INGAIN_DEFAULT = 0.0;
{$EXTERNALSYM DSFX_WAVESREVERB_INGAIN_DEFAULT}
DSFX_WAVESREVERB_REVERBMIX_MIN = -96.0;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBMIX_MIN}
DSFX_WAVESREVERB_REVERBMIX_MAX = 0.0;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBMIX_MAX}
DSFX_WAVESREVERB_REVERBMIX_DEFAULT = 0.0;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBMIX_DEFAULT}
DSFX_WAVESREVERB_REVERBTIME_MIN = 0.001;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBTIME_MIN}
DSFX_WAVESREVERB_REVERBTIME_MAX = 3000.0;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBTIME_MAX}
DSFX_WAVESREVERB_REVERBTIME_DEFAULT = 1000.0;
{$EXTERNALSYM DSFX_WAVESREVERB_REVERBTIME_DEFAULT}
DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN = 0.001;
{$EXTERNALSYM DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN}
DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX = 0.999;
{$EXTERNALSYM DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX}
DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT = 0.001;
{$EXTERNALSYM DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT}
type
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectSoundFXWavesReverb);'}
{$EXTERNALSYM IDirectSoundFXWavesReverb}
IDirectSoundFXWavesReverb = interface(IUnknown)
['{46858c3a-0dc6-45e3-b760-d4eef16cb325}']
// IDirectSoundFXWavesReverb methods
function SetAllParameters(const pcDsFxWavesReverb: TDSFXWavesReverb): HResult; stdcall;
function GetAllParameters(out pDsFxWavesReverb: TDSFXWavesReverb): HResult; stdcall;
end;
IID_IDirectSoundFXWavesReverb = IDirectSoundFXWavesReverb;
{$EXTERNALSYM IID_IDirectSoundFXWavesReverb}
//
// IDirectSoundCaptureFXAec
//
PDSCFXAec = ^TDSCFXAec;
_DSCFXAec = packed record
fEnable: BOOL;
fNoiseFill: BOOL;
dwMode: DWORD;
end;
{$EXTERNALSYM _DSCFXAec}
DSCFXAec = _DSCFXAec;
{$EXTERNALSYM DSCFXAec}
TDSCFXAec = _DSCFXAec;
const
// These match the AEC_MODE_* constants in the DDK's ksmedia.h file
DSCFX_AEC_MODE_PASS_THROUGH = $0;
{$EXTERNALSYM DSCFX_AEC_MODE_PASS_THROUGH}
DSCFX_AEC_MODE_HALF_DUPLEX = $1;
{$EXTERNALSYM DSCFX_AEC_MODE_HALF_DUPLEX}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -