internal static void CheckError(string message = "", params object[] args) { ALCError error; if ((error = ALC.GetError()) != ALCError.NoError) { if (args != null && args.Length > 0) { message = string.Format(message, args); } throw new InvalidOperationException(message + " (Reason: " + error.ToString() + ")"); } }
public static bool InitDevice() { ALDevice audioDev = ALC.OpenDevice(null); AlcError err = ALC.GetError(audioDev); if (err != AlcError.NoError) { return(false); } ALContext aLContext = ALC.CreateContext(audioDev, new int[0]); bool makeRs = ALC.MakeContextCurrent(aLContext); err = ALC.GetError(audioDev); if (!makeRs || err != AlcError.NoError) { return(false); } //ALCdevice* inputDevice = alcCaptureOpenDevice(NULL, FREQ, AL_FORMAT_MONO16, FREQ / 2); ALCaptureDevice captureDev = ALC.CaptureOpenDevice(null, FREQ, ALFormat.Mono16, FREQ / 2); // FREQ ALC.CaptureStart(captureDev); err = ALC.GetError(audioDev); if (err != AlcError.NoError) { return(false); } int[] buffer = AL.GenBuffers(16); err = ALC.GetError(audioDev); if (err != AlcError.NoError) { return(false); } return(true); }