Unit WaveMix

Classes

Functions

CloseChannel - lpCloseInfo^.
CloseSession -
FreeWave -
OpenWave - eventually change to FALSE
OpenWaveSession - OPEN WAVE FUNCTION
PlaySound -
WaveActivate - create struct for Config Parameters and init } { lpConfig := New(PMixConfig); lpConfig^.

Types

PCloseWaveInfo
PMixConfig
PMixPlayParams
TCloseWaveInfo
TMixConfig
TMixPlayParams

Constants

MONO
STEREO
WMIX_ALL
WMIX_CLEARQUEUE
WMIX_CONFIG_CHANNELS
WMIX_CONFIG_SAMPLINGRATE
WMIX_FILE
WMIX_HIPRIORITY
WMIX_OPENALL
WMIX_OPENCOUNT
WMIX_OPENSINGLE
WMIX_QUEUEWAVE
WMIX_USELRUCHANNEL
WMIX_WAIT

Variables

hInstance
lpConfig
lpMixPlayParams
lpPlayWaveInfo
wResult


Functions


function CloseChannel(hWaveSession:THandle;iOpenChannel:Integer):Word;

lpCloseInfo^.hSession := hConfigurationHandle; lpCloseInfo^.iChannel:= iOpenChannel; lpCloseInfo^.lpMixWave:= lpMixWave;

function CloseSession(hWaveSession:THandle):Word;


function FreeWave(hWaveSession:THandle;lpMixWave:PLongInt):Word;


function OpenWave(hWaveSession:THandle;pszFileName:PChar):PLongInt;

eventually change to FALSE

function OpenWaveSession: THandle;

OPEN WAVE FUNCTION

function PlaySound(hWaveSession:THandle; lpMixWave:PLongInt; iOpenChannel,Replay: Integer): Word;


function WaveActivate (hWaveSession:THandle;Active:boolean):Word;

create struct for Config Parameters and init } { lpConfig := New(PMixConfig); lpConfig^.wSize := SizeOf(TMixConfig); lpConfig^.dwFlags := 0; lpConfig^.wChannels := STEREO or WMIX_CONFIG_CHANNELS; lpConfig^.wSamplingRate := 44 or WMIX_CONFIG_SAMPLINGRATE; OpenWaveSession := WaveMixConfigureInit(lpConfig);

Types


PCloseWaveInfo = ^TCloseWaveInfo

PMixConfig = ^TMixConfig

PMixPlayParams = ^TMixPlayParams

TCloseWaveInfo = record
hSession : THandle;
iChannel : Integer;
lpMixWave : PLongInt;
end;

TMixConfig = record
wSize : Word;
dwFlags : LongInt;
wChannels : Word;
wSamplingRate : Word;
end;

TMixPlayParams = record
wSize : Word;
hMixSession : THandle;
iChannel : Integer;
lpMixWave : PLongInt;
hWndNotify : THandle;
dwFlags : LongInt;
wLoops : Word;
end;

Constants

MONO = 1

STEREO = 2

WMIX_ALL = $0001

open iChannel Channels (eg. if iChannel = 4 will create channels 0-3)

WMIX_CLEARQUEUE = $01

WMIX_CONFIG_CHANNELS = $1

WMIX_CONFIG_SAMPLINGRATE = $2

WMIX_FILE = $0001

WMIX_HIPRIORITY = $04

WMIX_OPENALL = 1

open the single channel specified by iChannel

WMIX_OPENCOUNT = 2

opens all the channels, iChannel ignored

WMIX_OPENSINGLE = 0

WMIX_QUEUEWAVE = $00

WMIX_USELRUCHANNEL = $02

WMIX_WAIT = $08


Variables

hInstance : Word

lpConfig : PMixConfig

lpMixPlayParams : PMixPlayParams

lpPlayWaveInfo : PCloseWaveInfo

wResult : Word