BASS.NET API for the Un4seen BASS Audio LibraryBASSWASAPIInit EnumerationBASS.NET API for the Un4seen BASS Audio Library

Namespace: Un4seen.BassWasapi
Assembly: Bass.Net (in Bass.Net.dll) Version:

public enum BASSWASAPIInit

  Member nameValueDescription
BASS_WASAPI_SHARED0 Init the device (endpoint) in shared mode.
BASS_WASAPI_EXCLUSIVE1 Init the device (endpoint) in exclusive mode.
BASS_WASAPI_AUTOFORMAT2 Automatically choose another sample format if the specified format is not supported. If possible, a higher sample rate than freq will be used, rather than a lower one.
BASS_WASAPI_BUFFER4 Enable double buffering, for use by BASS_WASAPI_GetData(IntPtr, Int32) and BASS_WASAPI_GetLevel. This requires the BASS "no sound" device to have been initilized, via BASS_Init(Int32, Int32, BASSInit, IntPtr, IntPtr).

Internally, a BASS stream is used for that, so the usual BASS_DATA_xxx flags are supported.

BASS_WASAPI_EVENT16 Enables the event-driven WASAPI system.

It is only supported when a WASAPIPROC function is provided, ie. not when using BASS_WASAPI_PutData(IntPtr, Int32).

When used with shared mode, the user-provided 'buffer' and 'period' lengths are ignored and WASAPI decides what buffer to use (BASS_WASAPI_GetInfo(BASS_WASAPI_INFO) can be used to check that).

BASS_WASAPI_SAMPLES32 Allows 'buffer' and 'period' to be specified in samples instead of seconds in the BASS_WASAPI_Init(Int32, Int32, Int32, BASSWASAPIInit, Single, Single, WASAPIPROC, IntPtr) call.
BASS_WASAPI_DITHER64 Requests to apply dither to the output.

Dither is optional rather than automatic because it destroys bit-perfect output; you probably don't want to enable it unless you're applying DSP (including volume changes). When the output is floating-point (eg. in shared mode), the flag will have no effect.

See Also