public override void BufferData <T>(T[] buffer, BufferAudioFormat format, int sizeInBytes, int frequency) { DataStream?.Dispose(); DataStream = new DataStream(sizeInBytes, true, true); DataStream.WriteRange(buffer, 0, buffer.Length); DataStream.Position = 0; Format = format; Frequency = frequency; SizeInBytes = sizeInBytes; }
private int GetChannelCount(BufferAudioFormat format) { if (format == BufferAudioFormat.Mono8 || format == BufferAudioFormat.Mono16) { return(1); } else { return(2); } }
private ALFormat MapAudioFormat(BufferAudioFormat format) { switch (format) { case BufferAudioFormat.Mono8: return(ALFormat.Mono8); case BufferAudioFormat.Mono16: return(ALFormat.Mono16); case BufferAudioFormat.Stereo8: return(ALFormat.Stereo8); case BufferAudioFormat.Stereo16: return(ALFormat.Stereo16); default: throw new InvalidOperationException("Illegal BufferAudioFormat: " + format); } }
private int GetBytesPerSample(BufferAudioFormat format) { switch (format) { case BufferAudioFormat.Mono8: return(1); case BufferAudioFormat.Mono16: return(2); case BufferAudioFormat.Stereo8: return(2); case BufferAudioFormat.Stereo16: return(4); default: throw new InvalidOperationException("Invalid BufferAudioFormat: " + format); } }
public abstract void BufferData <T>(T[] buffer, BufferAudioFormat format, int sizeInBytes, int frequency) where T : struct;
public override void BufferData <T>(T[] buffer, BufferAudioFormat format, int sizeInBytes, int frequency) { }
public override void BufferData <T>(T[] buffer, BufferAudioFormat format, int sizeInBytes, int frequency) { AL.BufferData(ID, MapAudioFormat(format), buffer, sizeInBytes, frequency); ByteCount = sizeInBytes; }