?? directsound.pas
字號:
DSFXECHO_PANDELAY_MAX = 1;
DSFXDISTORTION_GAIN_MIN = -60.0;
DSFXDISTORTION_GAIN_MAX = 0.0;
DSFXDISTORTION_EDGE_MIN = 0.0;
DSFXDISTORTION_EDGE_MAX = 100.0;
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN = 100.0;
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX = 8000.0;
DSFXDISTORTION_POSTEQBANDWIDTH_MIN = 100.0;
DSFXDISTORTION_POSTEQBANDWIDTH_MAX = 8000.0;
DSFXDISTORTION_PRELOWPASSCUTOFF_MIN = 100.0;
DSFXDISTORTION_PRELOWPASSCUTOFF_MAX = 8000.0;
DSFXCOMPRESSOR_GAIN_MIN = -60.0;
DSFXCOMPRESSOR_GAIN_MAX = 60.0;
DSFXCOMPRESSOR_ATTACK_MIN = 0.01;
DSFXCOMPRESSOR_ATTACK_MAX = 500.0;
DSFXCOMPRESSOR_RELEASE_MIN = 50.0;
DSFXCOMPRESSOR_RELEASE_MAX = 3000.0;
DSFXCOMPRESSOR_THRESHOLD_MIN = -60.0;
DSFXCOMPRESSOR_THRESHOLD_MAX = 0.0;
DSFXCOMPRESSOR_RATIO_MIN = 1.0;
DSFXCOMPRESSOR_RATIO_MAX = 100.0;
DSFXCOMPRESSOR_PREDELAY_MIN = 0.0;
DSFXCOMPRESSOR_PREDELAY_MAX = 4.0;
DSFXPARAMEQ_CENTER_MIN = 80.0;
DSFXPARAMEQ_CENTER_MAX = 16000.0;
DSFXPARAMEQ_BANDWIDTH_MIN = 1.0;
DSFXPARAMEQ_BANDWIDTH_MAX = 36.0;
DSFXPARAMEQ_GAIN_MIN = -15.0;
DSFXPARAMEQ_GAIN_MAX = 15.0;
DSFX_I3DL2REVERB_ROOM_MIN = (-10000);
DSFX_I3DL2REVERB_ROOM_MAX = 0;
DSFX_I3DL2REVERB_ROOM_DEFAULT = (-1000);
DSFX_I3DL2REVERB_ROOMHF_MIN = (-10000);
DSFX_I3DL2REVERB_ROOMHF_MAX = 0;
DSFX_I3DL2REVERB_ROOMHF_DEFAULT = (-100);
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN = 0.0;
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX = 10.0;
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT = 0.0;
DSFX_I3DL2REVERB_DECAYTIME_MIN = 0.1;
DSFX_I3DL2REVERB_DECAYTIME_MAX = 20.0;
DSFX_I3DL2REVERB_DECAYTIME_DEFAULT = 1.49;
DSFX_I3DL2REVERB_DECAYHFRATIO_MIN = 0.1;
DSFX_I3DL2REVERB_DECAYHFRATIO_MAX = 2.0;
DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT = 0.83;
DSFX_I3DL2REVERB_REFLECTIONS_MIN = (-10000);
DSFX_I3DL2REVERB_REFLECTIONS_MAX = 1000;
DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT = (-2602);
DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN = 0.0;
DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX = 0.3;
DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT = 0.007;
DSFX_I3DL2REVERB_REVERB_MIN = (-10000);
DSFX_I3DL2REVERB_REVERB_MAX = 2000;
DSFX_I3DL2REVERB_REVERB_DEFAULT = (200);
DSFX_I3DL2REVERB_REVERBDELAY_MIN = 0.0;
DSFX_I3DL2REVERB_REVERBDELAY_MAX = 0.1;
DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT = 0.011;
DSFX_I3DL2REVERB_DIFFUSION_MIN = 0.0;
DSFX_I3DL2REVERB_DIFFUSION_MAX = 100.0;
DSFX_I3DL2REVERB_DIFFUSION_DEFAULT = 100.0;
DSFX_I3DL2REVERB_DENSITY_MIN = 0.0;
DSFX_I3DL2REVERB_DENSITY_MAX = 100.0;
DSFX_I3DL2REVERB_DENSITY_DEFAULT = 100.0;
DSFX_I3DL2REVERB_HFREFERENCE_MIN = 20.0;
DSFX_I3DL2REVERB_HFREFERENCE_MAX = 20000.0;
DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT = 5000.0;
DSFX_I3DL2REVERB_QUALITY_MIN = 0;
DSFX_I3DL2REVERB_QUALITY_MAX = 3;
DSFX_I3DL2REVERB_QUALITY_DEFAULT = 2;
DSFX_WAVESREVERB_INGAIN_MIN = -96.0;
DSFX_WAVESREVERB_INGAIN_MAX = 0.0;
DSFX_WAVESREVERB_INGAIN_DEFAULT = 0.0;
DSFX_WAVESREVERB_REVERBMIX_MIN = -96.0;
DSFX_WAVESREVERB_REVERBMIX_MAX = 0.0;
DSFX_WAVESREVERB_REVERBMIX_DEFAULT = 0.0;
DSFX_WAVESREVERB_REVERBTIME_MIN = 0.001;
DSFX_WAVESREVERB_REVERBTIME_MAX = 3000.0;
DSFX_WAVESREVERB_REVERBTIME_DEFAULT = 1000.0;
DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN = 0.001;
DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX = 0.999;
DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT = 0.001;
//
// GUID's for all the objects
//
type
IID_IDirectSound = IDirectSound;
IID_IDirectSoundBuffer = IDirectSoundBuffer;
IID_IDirectSound3DListener = IDirectSound3DListener;
IID_IDirectSound3DBuffer = IDirectSound3DBuffer;
IID_IDirectSoundCapture = IDirectSoundCapture;
IID_IDirectSoundCaptureBuffer = IDirectSoundCaptureBuffer;
IID_IDirectSoundNotify = IDirectSoundNotify;
IID_IKsPropertySet = IKsPropertySet;
// DirectSound 8.0
IID_IDirectSound8 = IDirectSound8;
IID_IDirectSoundBuffer8 = IDirectSoundBuffer8;
IID_IDirectSound3DListener8 = IDirectSound3DListener8;
IID_IDirectSound3DBuffer8 = IDirectSound3DBuffer8;
IID_IDirectSoundCapture8 = IDirectSoundCapture8;
IID_IDirectSoundCaptureBuffer8 = IDirectSoundCaptureBuffer8;
IID_IDirectSoundNotify8 = IDirectSoundNotify8;
IID_IDirectSoundCaptureFXAec8 = IDirectSoundCaptureFXAec8;
IID_IDirectSoundCaptureFXNoiseSuppress8 = IDirectSoundCaptureFXNoiseSuppress8;
IID_IDirectSoundFullDuplex8 = IDirectSoundFullDuplex8;
IID_IDirectSoundFXGargle8 = IDirectSoundFXGargle8;
IID_IDirectSoundFXChorus8 = IDirectSoundFXChorus8;
IID_IDirectSoundFXFlanger8 = IDirectSoundFXFlanger8;
IID_IDirectSoundFXEcho8 = IDirectSoundFXEcho8;
IID_IDirectSoundFXDistortion8 = IDirectSoundFXDistortion8;
IID_IDirectSoundFXCompressor8 = IDirectSoundFXCompressor8;
IID_IDirectSoundFXParamEq8 = IDirectSoundFXParamEq8;
IID_IDirectSoundFXWavesReverb8 = IDirectSoundFXWavesReverb8;
IID_IDirectSoundFXI3DL2Reverb8 = IDirectSoundFXI3DL2Reverb8;
const
CLSID_DirectSound : TGUID = '{47D4D946-62E8-11CF-93BC-444553540000}';
CLSID_DirectSound8 : TGUID = '{3901CC3F-84B5-4FA4-BA35-AA8172B8A09B}';
CLSID_DirectSoundCapture : TGUID = '{B0210780-89CD-11D0-AF08-00A0C925CD16}';
CLSID_DirectSoundCapture8 : TGUID = '{E4BCAC13-7F99-4908-9A8E-74E3BF24B6E1}';
CLSID_DirectSoundFullDuplex : TGUID = '{FEA4300C-7959-4147-B26A-2377B9E7A91D}';
DSDEVID_DefaultPlayback : TGUID = '{DEF00000-9C6D-47ED-AAF1-4DDA8F2B5C03}';
DSDEVID_DefaultCapture : TGUID = '{DEF00001-9C6D-47ED-AAF1-4DDA8F2B5C03}';
DSDEVID_DefaultVoicePlayback : TGUID = '{DEF00002-9C6D-47ED-AAF1-4DDA8F2B5C03}';
DSDEVID_DefaultVoiceCapture : TGUID = '{DEF00003-9C6D-47ED-AAF1-4DDA8F2B5C03}';
//
// Creation Routines
//
var
DirectSoundCreate : function ( lpGuid: PGUID; out ppDS: IDirectSound;
pUnkOuter: IUnknown) : HResult; stdcall;
DirectSoundEnumerateW : function (lpDSEnumCallback: TDSEnumCallbackW;
lpContext: Pointer) : HResult; stdcall;
DirectSoundEnumerateA : function (lpDSEnumCallback: TDSEnumCallbackA;
lpContext: Pointer) : HResult; stdcall;
DirectSoundEnumerate : function (lpDSEnumCallback: TDSEnumCallback;
lpContext: Pointer) : HResult; stdcall;
DirectSoundCaptureCreate : function (lpGUID: PGUID;
out lplpDSC: IDirectSoundCapture;
pUnkOuter: IUnknown) : HResult; stdcall;
DirectSoundCaptureEnumerateW : function (lpDSEnumCallback: TDSEnumCallbackW;
lpContext: Pointer) : HResult; stdcall;
DirectSoundCaptureEnumerateA : function (lpDSEnumCallback: TDSEnumCallbackA;
lpContext: Pointer) : HResult; stdcall;
DirectSoundCaptureEnumerate : function(lpDSEnumCallback: TDSEnumCallback;
lpContext: Pointer) : HResult; stdcall;
// DirectX 8.0
DirectSoundCreate8 : function( pcGuidDevice: PGUID; out ppDS8: IDirectSound8;
pUnkOuter: IUnknown) : HResult; stdcall;
DirectSoundCaptureCreate8 : function( pcGuidDevice: PGUID;
out ppDSC8: IDirectSoundCapture8;
pUnkOuter: IUnknown) : HResult; stdcall;
DirectSoundFullDuplexCreate8 : function (pcGuidCaptureDevice, pcGuidRenderDevice: PGUID;
const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc;
hWnd: hWnd; dwLevel: DWORD;
out ppDSFD: IDirectSoundFullDuplex8;
out ppDSCBuffer8: IDirectSoundCaptureBuffer8;
out ppDSBuffer8: IDirectSoundBuffer8; pUnkOuter: IUnknown): HResult; stdcall;
GetDeviceID: function( pGuidSrc, pGuidDest: PGUID): HResult; stdcall;
//
// Return Values
//
const
FLT_MIN = 1.175494351E-38;
FLT_MAX = 3.402823466E+38;
_FACDS = $878;
MAKE_DSHRESULT_ = HResult($88780000);
// The function completed successfully
DS_OK = S_OK;
// The call succeeded, but we had to substitute the 3D algorithm
DS_NO_VIRTUALIZATION = MAKE_DSHRESULT_ + 10;
// The call succeeded, but not all of the optional effects were obtained.
DS_INCOMPLETE = MAKE_DSHRESULT_ + 20;
// The call failed because resources (such as a priority level)
// were already being used by another caller
DSERR_ALLOCATED = MAKE_DSHRESULT_ + 10;
// The control (vol, pan, etc.) requested by the caller is not available
DSERR_CONTROLUNAVAIL = MAKE_DSHRESULT_ + 30;
// An invalid parameter was passed to the returning function
DSERR_INVALIDPARAM = E_INVALIDARG;
// This call is not valid for the current state of this object
DSERR_INVALIDCALL = MAKE_DSHRESULT_ + 50;
// An undetermined error occurred inside the DirectSound subsystem
DSERR_GENERIC = E_FAIL;
// The caller does not have the priority level required for the function to
// succeed
DSERR_PRIOLEVELNEEDED = MAKE_DSHRESULT_ + 70;
// Not enough free memory is available to complete the operation
DSERR_OUTOFMEMORY = E_OUTOFMEMORY;
// The specified WAVE format is not supported
DSERR_BADFORMAT = MAKE_DSHRESULT_ + 100;
// The function called is not supported at this time
DSERR_UNSUPPORTED = E_NOTIMPL;
// No sound driver is available for use
DSERR_NODRIVER = MAKE_DSHRESULT_ + 120;
// This object is already initialized
DSERR_ALREADYINITIALIZED = MAKE_DSHRESULT_ + 130;
// This object does not support aggregation
DSERR_NOAGGREGATION = CLASS_E_NOAGGREGATION;
// The buffer memory has been lost, and must be restored
DSERR_BUFFERLOST = MAKE_DSHRESULT_ + 150;
// Another app has a higher priority level, preventing this call from
// succeeding
DSERR_OTHERAPPHASPRIO = MAKE_DSHRESULT_ + 160;
// This object has not been initialized
DSERR_UNINITIALIZED = MAKE_DSHRESULT_ + 170;
// The requested COM interface is not available
DSERR_NOINTERFACE = E_NOINTERFACE;
// Access is denied
DSERR_ACCESSDENIED = E_ACCESSDENIED;
// Tried to create a DSBCAPS_CTRLFX buffer shorter than DSBSIZE_FX_MIN milliseconds
DSERR_BUFFERTOOSMALL = MAKE_DSHRESULT_ + 180;
// Attempt to use DirectSound 8 functionality on an older DirectSound object
DSERR_DS8_REQUIRED = MAKE_DSHRESULT_ + 190;
// A circular loop of send effects was detected
DSERR_SENDLOOP = MAKE_DSHRESULT_ + 200;
// The GUID specified in an audiopath file does not match a valid MIXIN buffer
DSERR_BADSENDBUFFERGUID = MAKE_DSHRESULT_ + 210;
// The object requested was not found (numerically equal to DMUS_E_NOT_FOUND)
DSERR_OBJECTNOTFOUND = MAKE_DSHRESULT_ + 4449;
// The effects requested could not be found on the system, or they were found
// but in the wrong order, or in the wrong hardware/software locations.
DSERR_FXUNAVAILABLE = MAKE_DSHRESULT_ + 220;
//
// Flags
//
DSCAPS_PRIMARYMONO = $00000001;
DSCAPS_PRIMARYSTEREO = $00000002;
DSCAPS_PRIMARY8BIT = $00000004;
DSCAPS_PRIMARY16BIT = $00000008;
DSCAPS_CONTINUOUSRATE = $00000010;
DSCAPS_EMULDRIVER = $00000020;
DSCAPS_CERTIFIED = $00000040;
DSCAPS_SECONDARYMONO = $00000100;
DSCAPS_SECONDARYSTEREO = $00000200;
DSCAPS_SECONDARY8BIT = $00000400;
DSCAPS_SECONDARY16BIT = $00000800;
DSSCL_NORMAL = $00000001;
DSSCL_PRIORITY = $00000002;
DSSCL_EXCLUSIVE = $00000003;
DSSCL_WRITEPRIMARY = $00000004;
{IFDEF DX81}
DSSPEAKER_DIRECTOUT = $00000000;
{ENDIF}
DSSPEAKER_HEADPHONE = $00000001;
DSSPEAKER_MONO = $00000002;
DSSPEAKER_QUAD = $00000003;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -