After creating your stream and before play it, seek and set a sync position (C# sample):
...
int mBeforeEndHandle = 0;
SYNCPROC beforeEndProc = new SYNCPROC(BeforeEnd);
...
Bass.BASS_ChannelSetPosition(stream, startTimeInSeconds/*double*/)
long pos = Bass.BASS_ChannelSeconds2Bytes(stream, stopTimeInSeconds/*double*/);
mBeforeEndHandle = Bass.BASS_ChannelSetSync(stream, BASSSync.BASS_SYNC_POS, pos, beforeEndProc, new IntPtr(0));
...
void BeforeEnd(int handle, int channel, int data, IntPtr user)
{
if (handle == mBeforeEndHandle ){
Bass.BASS_ChannelRemoveSync(channel, mBeforeEndHandle);
// Stop stream
// Free stream if needed
}
}
...