Пример #1
0
 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");
 }
Пример #2
0
        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();
        }