public void Play() { RequestBuffers(); _finished = false; if (_seekTime != null) { _startTime = (int)(_context.currentTime * 1000 - _seekTime.Value); _seekTime = null; _pauseTime = 0; _paused = false; } else if (_paused) { _paused = false; _pauseTime += (int)(_context.currentTime * 1000 - _pauseStart); } else { _startTime = (int)(_context.currentTime * 1000); _pauseTime = 0; } _source = _context.createBufferSource(); _source.buffer = _buffer; _source.loop = true; _source.connect(_audioNode, 0, 0); _source.start(0); _audioNode.connect(_context.destination, 0, 0); }
public void Pause() { if (_source != null) { _source.stop(0); } _source = null; _paused = true; _pauseStart = (int)(_context.currentTime * 1000); _audioNode.disconnect(0); }
public void Stop() { _finished = true; _paused = false; _seekTime = null; if (_source != null) { _source.stop(0); } _source = null; _circularBuffer.Clear(); _audioNode.disconnect(0); }
public void Play() { RequestBuffers(); _finished = false; _source = _context.createBufferSource(); _source.buffer = _buffer; _source.loop = true; _source.connect(_audioNode, 0, 0); _source.start(0); _audioNode.connect(_context.destination, 0, 0); }
public void Pause() { if (_source != null) { _source.stop(0); } _source = null; _audioNode.disconnect(0); }
public void Stop() { _finished = true; if (_source != null) { _source.stop(0); } _currentTime = 0; _source = null; _circularBuffer.Clear(); _audioNode.disconnect(0); }