No, that wouldn't be possible at the moment...but should be easy to achive anyhow:
// "Stream (Decoding)" To "File":
int _stream = Bass.BASS_StreamCreateFile( "test.wav", 0, 0, BASSStream.BASS_STREAM_DECODE);
EncoderLAME l = new EncoderLAME(_stream);
l.InputFile = null; //STDIN
l.OutputFile = "test.mp3";
l.LAME_Bitrate = (int)EncoderLAME.BITRATE.kbps_64;
l.LAME_Mode = EncoderLAME.LAMEMode.Default;
l.LAME_Quality = EncoderLAME.LAMEQuality.Quality;
// set the pos of the stream
long fromPos = 123; // in bytes
float toPos = 99999; // in byte
Bass.BASS_ChannelSetPosition(_stream, fromPos);
// encode the data
l.Start(null, 0);
byte[] encBuffer = new byte[65536]; // our dummy encoder buffer (32KB x 16-bit - size it as you like)
while ( fromPos < toPos && Bass.BASS_ChannelIsActive(_stream) == (int)BASSActive.BASS_ACTIVE_PLAYING )
{
if (toPos - fromPos < encBuffer.Length)
fromPos += Bass.BASS_ChannelGetData(_stream, ref encBuffer[0], toPos - fromPos);
else
fromPos += Bass.BASS_ChannelGetData(_stream, ref encBuffer[0], encBuffer.Length);
}
// finish
l.Stop();
But I might add those overloads to the next version ;-)