private void SelectAudiobookFromBlockText(List <string> blockText) { bool statusAudiobooksOK = true; Txt blockAudiobook = new Txt(); foreach (var text in blockText) { blockAudiobook.text = text; string pathToAudiobook = Path.Combine(coreDirectoryLibrary.FullName, blockAudiobook.Select("<pathToAudiobook>", "</pathToAudiobook>")); DirectoryInfo pathToDirectoryAudiobook = new DirectoryInfo(pathToAudiobook); Audiobook audiobook = new Audiobook(pathToDirectoryAudiobook); audiobook.completionStatus = Convert.ToInt32(blockAudiobook.Select("<completionStatus>", "</completionStatus>")); if (audiobook.StatusAudiobookOK()) { audiobooks.Add(audiobook); } else { statusAudiobooksOK &= false; } } if (statusAudiobooksOK == false) { MessageBox.Show("Одна или несколько аудиокниг не найдены. Выполните 'Настройки -> Обновить библиотеку'", "Внимание"); } }
// constructor public Library() { audiobooks = new List <Audiobook>(); InitializeComponent(); AddTree(); ReadDataMediaFromSetingFile(); InitializeData(); FillTree(); selectedAudiobook = null; treeListView.DoubleClick += btnAccept_Click; }
private void btnAccept_Click(object sender, EventArgs e) { int indexAudiobook = treeListView.SelectedIndex; if (indexAudiobook >= 0) { selectedAudiobook = audiobooks[indexAudiobook]; this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("Выберите аудиокнигу для воспроизведения", "Внимание"); } }
private void btnLibrary_Click(object sender, EventArgs e) { Library library = new Library(); library.Owner = this; library.ShowDialog(); if (library.DialogResult == DialogResult.OK) { currentAudiobook = library.selectedAudiobook; //Здесь нужно инициализировать плеер с новой книгой InitilizeMediaPlayer(); InitilizeAudiofile(); WriteStatePlayerIntoFile(); } }
//считывает текущую аудиокнигу из файла настроек private void ReadCurrentAudiobook() { string path = Directory.GetCurrentDirectory(); path = Path.Combine(path, "setting.ini"); Txt txtFile = new Txt(); bool status = txtFile.SetPathToFile(path); if (status) { string pathToDirectoryLibrary = txtFile.Select("<pathToLibrary>", "</pathToLibrary>"); string relativePathToCurrentAudiobook = txtFile.Select("<currentAudiobook>", "</currentAudiobook>"); string valueSpeed = txtFile.Select("<playbackSpeed>", "</playbackSpeed>"); string pathToCurrentAudiobook = Path.Combine(pathToDirectoryLibrary, relativePathToCurrentAudiobook); DirectoryInfo pathToAudiobook = new DirectoryInfo(pathToCurrentAudiobook); currentAudiobook = new Audiobook(pathToAudiobook); currentAudiobook.audiobookPlaying = false; if (currentAudiobook.StatusAudiobookOK()) { InitilizeMediaPlayer(); InitilizeAudiofile(); InitializeCmbBxSelectorSpeedPlayback(valueSpeed.Replace(',', '.')); } else { MessageBox.Show("Текущая аудиокнига не может быть воспроизведена. Возможно она была переименована или перемещена. Выполните обновление библиотеки", "Внимание"); } } }
public AddBookmarks(Audiobook currentAudiobook) { InitializeComponent(); BtnReverse.WasClickButton += RewindReverce_Click; BtnPlay.WasChangeStateButton += BtnPlay_Click; BtnForward.WasClickButton += RewindForward_Click; this.currentAudiobook = currentAudiobook; this.currentAudiobook.WasRewind += UpdateForm; if (currentAudiobook.audiobookPlaying) { BtnPlay.SetBtnStateInPlay(); } else { BtnPlay.SetBtnStateInPause(); } UpdateForm(); }
private void GetAudiobooks(DirectoryInfo pathDirectory, int depth = 0) { //Увеличиваем глубину рекурсии depth++; //Ограничение глубины рекурсии if (depth > 5) { return; } if (IsDirectoryAudiobook(pathDirectory) && (pathDirectory != coreDirectoryLibrary)) { Audiobook audiobook = new Audiobook(pathDirectory); audiobooks.Add(audiobook); } DirectoryInfo[] dirs = pathDirectory.GetDirectories(); foreach (var dir in dirs) { GetAudiobooks(dir, depth); } }