public RMusic(FileStream fileStream, string name) { stream = new RAudioStream(fileStream, name); stream.Open(); stream.Finished = new EventHandler((o, e) => { if (Finished != null) { Finished.Invoke(o, e); } }); }
public bool FillBuffer(RAudioStream stream, int bufferId) { int readSamples; lock (readMutex) { readSamples = stream.Reader.ReadSamples(readSampleBuffer, 0, BufferSize); CastBuffer(readSampleBuffer, castBuffer, readSamples); } AL.BufferData(bufferId, stream.Reader.Channels == 1 ? ALFormat.Mono16 : ALFormat.Stereo16, castBuffer, readSamples * sizeof(short), stream.Reader.SampleRate); ALHelper.Check(); return(readSamples != BufferSize); }
internal bool RemoveStream(RAudioStream stream) { lock (iterationMutex) return(streams.Remove(stream)); }
internal bool AddStream(RAudioStream stream) { lock (iterationMutex) return(streams.Add(stream)); }