private void Destroy_() { this.state_ = AudioStreamSourceState.DESTROYED; AL.DeleteSource(this.sourceId_); AL.DeleteBuffers(this.bufferIds_.ToArray()); this.bufferIds_.Clear(); }
public void Pause() { if (this.state_ == AudioStreamSourceState.PLAYING) { this.state_ = AudioStreamSourceState.PAUSED; AL.SourcePause(this.sourceId_); } }
public void Play(bool loop) { switch (this.state_) { case AudioStreamSourceState.PAUSED: case AudioStreamSourceState.STOPPED: this.state_ = AudioStreamSourceState.PLAYING; AL.SourcePlay(this.sourceId_); break; } }
public void Stop() { switch (this.state_) { case AudioStreamSourceState.PLAYING: case AudioStreamSourceState.PAUSED: this.state_ = AudioStreamSourceState.STOPPED; AL.SourceStop(this.sourceId_); AL.SourceRewind(this.sourceId_); AL.SourceUnqueueBuffer(this.sourceId_); break; } }