Unit dsoundbs

Classes

IDirectSound - IDirectSound
IDirectSoundBuffer - IDirectSoundBuffer

Functions

DirectSoundCreate -
DirectSoundEnumerate -

Types

DSBCAPS
DSBUFFERDESC
DSCAPS
LPDSBCAPS
LPDSBUFFERDESC
LPDSCAPS
LPDSENUMCALLBACK

Constants

DSBCAPS_CTRLALL
DSBCAPS_CTRLDEFAULT
DSBCAPS_CTRLFREQUENCY
DSBCAPS_CTRLPAN
DSBCAPS_CTRLVOLUME
DSBCAPS_LOCHARDWARE
DSBCAPS_LOCSOFTWARE
DSBCAPS_PRIMARYBUFFER
DSBCAPS_STATIC
DSBLOCK_FROMWRITECURSOR
DSBPLAY_LOOPING
DSBSTATUS_BUFFERLOST
DSBSTATUS_LOOPING
DSBSTATUS_PLAYING
DSCAPS_CERTIFIED
DSCAPS_CONTINUOUSRATE
DSCAPS_EMULDRIVER
DSCAPS_PRIMARY16BIT
DSCAPS_PRIMARY8BIT
DSCAPS_PRIMARYMONO
DSCAPS_PRIMARYSTEREO
DSCAPS_SECONDARY16BIT
DSCAPS_SECONDARY8BIT
DSCAPS_SECONDARYMONO
DSCAPS_SECONDARYSTEREO
DSERR_ALLOCATED
DSERR_ALREADYINITIALIZED
DSERR_BADFORMAT
DSERR_BUFFERLOST
DSERR_CONTROLUNAVAIL
DSERR_GENERIC
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_NODRIVER
DSERR_OTHERAPPHASPRIO
DSERR_OUTOFMEMORY
DSERR_PRIOLEVELNEEDED
DSERR_UNSUPPORTED
DSSCL_EXCLUSIVE
DSSCL_NORMAL
DSSCL_PRIORITY
DSSCL_WRITEPRIMARY
DSSPEAKER_HEADPHONE
DSSPEAKER_MONO
DSSPEAKER_QUAD
DSSPEAKER_STEREO
DSSPEAKER_SURROUND
DS_OK

Variables


Functions


function DirectSoundCreate ( lpGUID: PGUID; var lplpDS: IDirectSound; pUnkOuter: IUnknown ): HRESULT ;


function DirectSoundEnumerate ( lpCallback: LPDSENUMCALLBACK; lpContext: Pointer ): HRESULT ;


Types


DSBCAPS = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwBufferBytes : DWORD ;
dwUnlockTransferRate : DWORD ;
dwPlayCpuOverhead : DWORD ;
end;

DSBUFFERDESC = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwBufferBytes : DWORD ;
dwReserved : DWORD ;
lpwfxFormat : PWaveFormatEx ;
end;

DSCAPS = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwMinSecondarySampleRate : DWORD ;
dwMaxSecondarySampleRate : DWORD ;
dwPrimaryBuffers : DWORD ;
dwMaxHwMixingAllBuffers : DWORD ;
dwMaxHwMixingStaticBuffers : DWORD ;
dwMaxHwMixingStreamingBuffers : DWORD ;
dwFreeHwMixingAllBuffers : DWORD ;
dwFreeHwMixingStaticBuffers : DWORD ;
dwFreeHwMixingStreamingBuffers : DWORD ;
dwMaxHw3DAllBuffers : DWORD ;
dwMaxHw3DStaticBuffers : DWORD ;
dwMaxHw3DStreamingBuffers : DWORD ;
dwFreeHw3DAllBuffers : DWORD ;
dwFreeHw3DStaticBuffers : DWORD ;
dwFreeHw3DStreamingBuffers : DWORD ;
dwTotalHwMemBytes : DWORD ;
dwFreeHwMemBytes : DWORD ;
dwMaxContigFreeHwMemBytes : DWORD ;
dwUnlockTransferRateHwBuffers : DWORD ;
dwPlayCpuOverheadSwBuffers : DWORD ;
dwReserved1 : DWORD ;
dwReserved2 : DWORD ;
end;

LPDSBCAPS = ^DSBCAPS 

LPDSBUFFERDESC = ^DSBUFFERDESC 

LPDSCAPS = ^DSCAPS 

LPDSENUMCALLBACK = function ( lpGUID: PGUID; lpstrDescription: PChar;
      lpstrModule: PChar; lpContext: Pointer ): BOOL 

Constants

DSBCAPS_CTRLALL = $000000E0

Pan + volume + frequency.

DSBCAPS_CTRLDEFAULT = $000000E0

DSBCAPS_CTRLFREQUENCY = $00000020

DSBCAPS_CTRLPAN = $00000040

DSBCAPS_CTRLVOLUME = $00000080

DSBCAPS_LOCHARDWARE = $00000004

DSBCAPS_LOCSOFTWARE = $00000008

DSBCAPS_PRIMARYBUFFER = $00000001

DSBCAPS_STATIC = $00000002

DSBLOCK_FROMWRITECURSOR = $00000001

DSBPLAY_LOOPING = $00000001

DSBSTATUS_BUFFERLOST = $00000002

DSBSTATUS_LOOPING = $00000004

DSBSTATUS_PLAYING = $00000001

DSCAPS_CERTIFIED = $00000040

DSCAPS_CONTINUOUSRATE = $00000010

DSCAPS_EMULDRIVER = $00000020

DSCAPS_PRIMARY16BIT = $00000008

DSCAPS_PRIMARY8BIT = $00000004

DSCAPS_PRIMARYMONO = $00000001

Flags

DSCAPS_PRIMARYSTEREO = $00000002

DSCAPS_SECONDARY16BIT = $00000800

DSCAPS_SECONDARY8BIT = $00000400

DSCAPS_SECONDARYMONO = $00000100

DSCAPS_SECONDARYSTEREO = $00000200

DSERR_ALLOCATED = $88780000 + 10

The call failed because resources (such as a priority level) were already being used by another caller.

DSERR_ALREADYINITIALIZED = $88780000 + 130

This object is already initialized

DSERR_BADFORMAT = $88780000 + 100

The specified WAVE format is not supported

DSERR_BUFFERLOST = $88780000 + 150

The buffer memory has been lost, and must be Restored.

DSERR_CONTROLUNAVAIL = $88780000 + 30

The control (vol,pan,etc.) requested by the caller is not available.

DSERR_GENERIC = E_FAIL

An undetermined error occured inside the DSound subsystem

DSERR_INVALIDCALL = $88780000 + 50

This call is not valid for the current state of this object

DSERR_INVALIDPARAM = E_INVALIDARG

An invalid parameter was passed to the returning function

DSERR_NOAGGREGATION = CLASS_E_NOAGGREGATION

This object does not support aggregation

DSERR_NODRIVER = $88780000 + 120

No sound driver is available for use

DSERR_OTHERAPPHASPRIO = $88780000 + 160

Another app has a higher priority level, preventing this call from succeeding.

DSERR_OUTOFMEMORY = E_OUTOFMEMORY

The DSound subsystem couldn't allocate sufficient memory to complete the caller's request.

DSERR_PRIOLEVELNEEDED = $88780000 + 70

The caller does not have the priority level required for the function to succeed.

DSERR_UNSUPPORTED = E_NOTIMPL

The function called is not supported at this time

DSSCL_EXCLUSIVE = 3

DSSCL_NORMAL = 1

DSSCL_PRIORITY = 2

DSSCL_WRITEPRIMARY = 4

DSSPEAKER_HEADPHONE = 1

All control capabilities

DSSPEAKER_MONO = 2

DSSPEAKER_QUAD = 3

DSSPEAKER_STEREO = 4

DSSPEAKER_SURROUND = 5

DS_OK = 0

Return Codes

Variables