private void timerUpdate_Tick(object sender, EventArgs e) { // here we gather info about the stream, when it is playing... if (_handle == 0 || Bass.ChannelIsActive(_handle) != PlaybackState.Playing && Bass.ChannelIsActive(_handle) != PlaybackState.Paused) { // the stream is NOT playing anymore... _UpdateTimer.Stop(); _PositionTrack.Value = 0; picSpectrum.Image = null; _vis.ClearPeaks(); return; } // from here on, the stream is for sure playing... _TickCounter++; if (_TickCounter == 2) { _TickCounter = 0; this.labelInfo.Text = string.Format("{0:#0.00} / {1:#0.00}", Utils.TSHMSF(Position), Utils.TSHMSF(_Length)); } _PositionTrack.Value = (int)(Math.Round((Position / _Length), 2) * _PositionTrack.Maximum); // update spectrum DrawSpectrum(); }
public void Play(bool Restart = false) { if (_handle != 0) { if (Bass.ChannelIsActive(_handle) == PlaybackState.Stopped || Bass.ChannelIsActive(_handle) == PlaybackState.Paused) { if (Loop) { Bass.ChannelAddFlag(_handle, BassFlags.Loop); } else { Bass.ChannelRemoveFlag(_handle, BassFlags.Loop); } if (!Bass.ChannelPlay(_handle, Restart)) { Console.WriteLine("Player: Error Playing {0:G}", Bass.LastError); _handle = 0; return; } } _UpdateTimer.Start(); } }
public void Stop() { if (_handle != 0) { if (Bass.ChannelIsActive(_handle) == PlaybackState.Playing || Bass.ChannelIsActive(_handle) == PlaybackState.Paused) { Bass.ChannelStop(_handle); } } }
public void Pause() { if (_handle != 0) { if (Bass.ChannelIsActive(_handle) == PlaybackState.Playing) { Bass.ChannelPause(_handle); } } }