Starts/resumes playback of a sample, stream, MOD music, or a recording.

BOOL BASS_ChannelPlay(
    DWORD handle,
    BOOL restart


handleThe channel handle... a HCHANNEL, HMUSIC, HSTREAM, or HRECORD.
restartRestart playback from the beginning? This has no effect on streams with the BASS_STREAM_BLOCK flag set or on recordings.

Return value

If successful, TRUE is returned, else FALSE is returned. Use BASS_ErrorGetCode to get the error code.

Error codes

BASS_ERROR_HANDLEhandle is not a valid channel.
BASS_ERROR_DECODEhandle is a decoding channel, so cannot be played.
BASS_ERROR_STARTThe output is paused/stopped, use BASS_Start to start it.


This function is identical to BASS_ChannelStart but with the option of restarting the channel. When a user stream (created with BASS_StreamCreate) is restarted, its current buffer contents are cleared.

If other channels have been linked to the specified channel via BASS_ChannelSetLink, this function will attempt to simultaneously start playing them too but if any fail, it will be silently. The return value and error code only reflects what happened with the specified channel. BASS_ChannelIsActive can be used to confirm the status of linked channels.

See also

BASS_ChannelFlags, BASS_ChannelGetLevel, BASS_ChannelGetPosition, BASS_ChannelIsActive, BASS_ChannelPause, BASS_ChannelSetPosition, BASS_ChannelSetSync, BASS_ChannelStop, BASS_ChannelUpdate, BASS_Start, BASS_CONFIG_NET_PREBUF