public ALEngine(AudioEngineOptions options) { _device = AlNative.alcOpenDevice(null); checkAlcError(); _context = AlNative.alcCreateContext(_device, null); checkAlcError(); AlNative.alcMakeContextCurrent(_context); checkAlcError(); _floatSupport = AlNative.alIsExtensionPresent("AL_EXT_FLOAT32"); }
public ALEngine(AudioEngineOptions options) { mutex.WaitOne(); usingResource++; if (usingResource == 1) { int[] argument = new int[] { AlNative.ALC_FREQUENCY, options.SampleRate }; // opens the default device. _device = AlNative.alcOpenDevice(null); checkAlcError(); _context = AlNative.alcCreateContext(_device, argument); checkAlcError(); // AlNative.alcMakeContextCurrent(_context); checkAlcError(); _floatSupport = AlNative.alIsExtensionPresent("AL_EXT_FLOAT32"); checkAlError(); } mutex.ReleaseMutex(); }