Creates a user sample stream.
|freq||The default sample rate. The sample rate can be changed using BASS_ChannelSetAttribute.
|chans||The number of channels... 1 = mono, 2 = stereo, 4 = quadraphonic, 6 = 5.1, 8 = 7.1.
|flags||A combination of these flags.|
|BASS_SAMPLE_8BITS||Use 8-bit resolution. If neither this or the BASS_SAMPLE_FLOAT flags are specified, then the stream is 16-bit.
|BASS_SAMPLE_FLOAT||Use 32-bit floating-point sample data. See Floating-point channels for info.
|BASS_SAMPLE_SOFTWARE||Force the stream to not use hardware mixing.
|BASS_SAMPLE_3D||Enable 3D functionality. This requires that the BASS_DEVICE_3D flag was specified when calling BASS_Init, and the stream must be mono (chans=1). The SPEAKER flags cannot be used together with this flag.
|BASS_SAMPLE_FX||Enable the old implementation of DirectX 8 effects. See the DX8 effect implementations section for details. Use BASS_ChannelSetFX to add effects to the stream.
|BASS_STREAM_AUTOFREE||Automatically free the stream when playback ends.
|BASS_STREAM_DECODE||Decode the sample data, without playing it. Use BASS_ChannelGetData to retrieve decoded sample data. The BASS_SAMPLE_3D, BASS_STREAM_AUTOFREE and SPEAKER flags cannot be used together with this flag. The BASS_SAMPLE_SOFTWARE and BASS_SAMPLE_FX flags are also ignored.
|BASS_SPEAKER_xxx||Speaker assignment flags. These flags have no effect when the stream is more than stereo.
|proc||The user defined stream writing function, or one of the following.|
Create a "dummy" stream. A dummy stream does not have any sample data of its own, but a decoding dummy stream (with BASS_STREAM_DECODE flag) can be used to apply DSP/FX processing to any sample data, by setting DSP/FX on the stream and feeding the data through BASS_ChannelGetData. The dummy stream should have the same sample format as the data being fed through it.
|STREAMPROC_PUSH||Create a "push" stream. Instead of BASS pulling data from a STREAMPROC function, data is pushed to BASS via BASS_StreamPutData.
|user||User instance data to pass to the callback function. Unused when creating a dummy or push stream.
If successful, the new stream's handle is returned, else 0 is returned. Use BASS_ErrorGetCode
to get the error code.
|BASS_ERROR_INIT||BASS_Init has not been successfully called.
|BASS_ERROR_NOTAVAIL||Only decoding channels (BASS_STREAM_DECODE) are allowed when using the "no sound" device. The BASS_STREAM_AUTOFREE flag is also unavailable to decoding channels.
|BASS_ERROR_FORMAT||The sample format is not supported by the device/drivers. If the stream is more than stereo or the BASS_SAMPLE_FLOAT flag is used, it could be that they are not supported.
|BASS_ERROR_SPEAKER||The specified SPEAKER flags are invalid. The device/drivers do not support them, they are attempting to assign a stereo stream to a mono speaker or 3D functionality is enabled.
|BASS_ERROR_MEM||There is insufficient memory.
|BASS_ERROR_NO3D||Could not initialize 3D support.
|BASS_ERROR_UNKNOWN||Some other mystery problem!
Sample streams allow any sample data to be played through BASS, and are particularly useful for playing a large amount of sample data without requiring a large amount of memory. If you wish to play a sample format that BASS does not support, then you can create a stream and decode the sample data into it.
BASS can automatically stream MP3, MP2, MP1, OGG, WAV and AIFF files, using BASS_StreamCreateFile, and also from HTTP and FTP servers, using BASS_StreamCreateURL. BASS_StreamCreateFileUser allows streaming from other sources too.
Away from Windows, all mixing is done in software (by BASS), so the BASS_SAMPLE_SOFTWARE flag is unnecessary. The BASS_SAMPLE_FX flag is also ignored.
, STREAMPROC callback