private void btnPlayPause_Click(object sender, EventArgs e) { btnTest.Enabled = false; if (_PoemAudioPlayer.IsPlaying) { _PoemAudioPlayer.PausePlayBack(); btnPlayPause.Text = "ادامۀ پخش"; btnPlayPause.Image = Properties.Resources.play; btnSave.Enabled = true; return; } if (_PoemAudioPlayer.IsInPauseState) { btnPlayPause.Text = "توقف"; btnPlayPause.Image = Properties.Resources.pause; _PoemAudioPlayer.ResumePlayBack(); return; } if (!_PoemAudioPlayer.BeginPlayback(_PoemAudio)) { MessageBox.Show("خطایی در پخش فایل صوتی رخ داد. لطفا چک کنید فایل در مسیر تعیین شده قرار داشته باشد."); EnableButtons(); return; } btnPlayPause.Text = "توقف"; btnPlayPause.Image = Properties.Resources.pause; timer.Start(); trackBar.Maximum = _PoemAudioPlayer.TotalTimeInMiliseconds; _TrackbarValueSetting = true; trackBar.Value = 0; _TrackbarValueSetting = false; trackBar.Enabled = true; }
public SyncPoemAudio(DbBrowser dbBrowser, PoemAudio poemAudio) { InitializeComponent(); _DbBrowser = dbBrowser; _PoemAudio = poemAudio; _PoemAudioPlayer = new PoemAudioPlayer(); _PoemAudioPlayer.PlaybackStarted += new EventHandler(_PoemAudioPlayer_PlaybackStarted); _PoemAudioPlayer.PlaybackStopped += new EventHandler <NAudio.Wave.StoppedEventArgs>(_PoemAudioPlayer_PlaybackStopped); _Modified = false; _Saved = false; _SyncOrder = -1; _LastSearchText = ""; _Modifying = false; _PoemVerses = _DbBrowser.GetVerses(poemAudio.PoemId).ToArray(); if (poemAudio.SyncArray != null) { _VerseMilisecPositions = new List <PoemAudio.SyncInfo>(poemAudio.SyncArray); if (_VerseMilisecPositions.Count > 0 && _VerseMilisecPositions[_VerseMilisecPositions.Count - 1].VerseOrder != (_PoemVerses[_PoemVerses.Length - 1]._Order - 1) ) { if (MessageBox.Show("آیا تمایل دارید همگامسازی را از آخرین نقطهٔ همگام شده ادامه دهید؟", "تأییدیه", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading) == DialogResult.Yes) { if (!_PoemAudioPlayer.BeginPlayback(_PoemAudio)) { MessageBox.Show("خطایی در پخش فایل صوتی رخ داد. لطفا چک کنید فایل در مسیر تعیین شده قرار داشته باشد."); } else { _Modifying = true; btnPlayPause.Text = "توقف"; btnPlayPause.Image = Properties.Resources.pause; timer.Start(); trackBar.Maximum = _PoemAudioPlayer.TotalTimeInMiliseconds; _PoemAudioPlayer.PositionInMiliseconds = _VerseMilisecPositions[_VerseMilisecPositions.Count - 1].AudioMiliseconds; _TrackbarValueSetting = true; trackBar.Value = _PoemAudioPlayer.PositionInMiliseconds; _TrackbarValueSetting = false; trackBar.Enabled = true; btnPlayPause_Click(null, null); _SyncOrder = _VerseMilisecPositions[_VerseMilisecPositions.Count - 1].VerseOrder; if (_SyncOrder >= 0 && _SyncOrder < _PoemVerses.Length) { if (_SyncOrder < _PoemVerses.Length - 1) { lblNextVerse.Text = "مصرع بعد: " + _PoemVerses[_SyncOrder + 1]._Text; } else { lblNextVerse.Text = "این مصرع آخر است."; } lblVerse.Text = _PoemVerses[_VerseMilisecPositions[_SyncOrder].VerseOrder]._Text; } } } } } else { _VerseMilisecPositions = new List <PoemAudio.SyncInfo>(); } EnableButtons(); }