BASS_SamplePlayEx

Plays a sample from an offset, overriding the sample's default attributes with those specified.

HCHANNEL WINAPI BASS_SamplePlayEx(
    HSAMPLE handle,
    DWORD start,
    int freq,
    int volume,
    int pan,
    BOOL loop
);

Parameters
handleHandle of the sample to play.
startPlayback start position in samples (not bytes).
freqThe sample rate... 100 (min) - 100000 (max), -1 = use sample's default.
volumeThe volume... 0 (silent) - 100 (max), -1 = use sample's default.
panThe panning position... -100 (left) - 100 (right), -101 = use sample's default.
loopTRUE = Loop the sample... -1 = use sample's default.

Return value
If successful, the handle of the channel used to play the sample is returned, else NULL is returned. Use BASS_ErrorGetCode to get the error code.

Error codes
BASS_ERROR_STARTThe digital output has not been started. Use BASS_Start to do so.
BASS_ERROR_HANDLEhandle is not a valid sample handle.
BASS_ERROR_FREQfreq is out of range... DirectSound only allows sample rates between 100 and 100000.
BASS_ERROR_NO3DThe sample has 3D functionality... BASS_SamplePlay3DEx should be used to play it.
BASS_ERROR_NOCHANThe sample has no free channel on which to be played... the maximum number of simultaneous playbacks has been reached, and no BASS_SAMPLE_OVER flag was specfied for the sample.
BASS_ERROR_POSITIONThe start position is beyond the end of the sample.
BASS_ERROR_NOHWNo hardware voices are available... this only occurs if the sample was loaded or created with the BASS_SAMPLE_VAM flag, and BASS_VAM_HARDWARE is set in the sample's VAM mode, and there are no hardware voices available to play it.
BASS_ERROR_BUFLOSTShould not happen, but... PLEASE REPORT IT IF YOU DO GET THIS ERROR!

See also
BASS_ChannelGetPosition, BASS_ChannelIsActive, BASS_ChannelPause, BASS_ChannelStop, BASS_SampleCreate, BASS_SampleLoad, BASS_SamplePlay, BASS_SampleStop