⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directsound.pas

📁 3D GameStudio 的Delphi开发包
💻 PAS
📖 第 1 页 / 共 5 页
字号:

  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 + -