public static unsafe uint BufferFromWav(byte[] wave) { uint result; AL.GenBuffers(1, out result); byte[] data; ALFormat format; uint sampleRate; LoadWav(wave, out data, out format, out sampleRate); fixed(byte *dataPtr = &data[0]) { IntPtr dataIntPtr = new IntPtr(dataPtr); AL.BufferData(result, format, dataIntPtr, data.Length, (int)sampleRate); } return(result); }
private unsafe static uint BufferFromOgg(VorbisReader vorbis) { uint result; AL.GenBuffers(1, out result); byte[] data; ALFormat format; uint sampleRate; TimeSpan len; LoadOgg(vorbis, out data, out format, out sampleRate, out len); fixed(byte *dataPtr = &data[0]) { IntPtr dataIntPtr = new IntPtr(dataPtr); AL.BufferData(result, format, dataIntPtr, data.Length, (int)sampleRate); } return(result); }