private void buttonUpdateMeta_Click(object sender, RoutedEventArgs e) { foreach (var qari in QuranConfig.Current.Meta.Qaris) { string audioPath = string.Format("../../Out/{0}.dat", qari.EnglishName); if (File.Exists(audioPath)) { AudioQuran audioQuran = null; using (var file = File.OpenRead(audioPath)) { using (CryptoStream cs = new CryptoStream(file, Crypto.AES.CreateDecryptor(), CryptoStreamMode.Read)) { audioQuran = Serializer.Deserialize <Quran.Model.AudioQuran>(cs); } } for (int i = 0; i < QuranConfig.Current.Meta.Suras.Length; i++) { if (audioQuran.AudioSuras[i].AudioSlices == null) { qari.Availability[i] = false; } else if (audioQuran.AudioSuras[i].AudioSlices[2].Start.TotalSeconds > 0) { qari.Availability[i] = true; } } } } Engine.SaveMeta(QuranConfig.Current.Meta); }
private void LoadAudioQuran() { if (!File.Exists(AudioPath)) { audioQuran = new AudioQuran() { Qari = qari, Album = "Default", LastUpdate = DateTime.Now.ToShortDateString() }; audioQuran.AudioSuras = new AudioSura[114]; for (int i = 0; i < 114; i++) { audioQuran.AudioSuras[i] = new AudioSura(); } } else { using (var file = File.OpenRead(AudioPath)) { using (CryptoStream cs = new CryptoStream(file, Crypto.AES.CreateDecryptor(), CryptoStreamMode.Read)) { audioQuran = Serializer.Deserialize <Quran.Model.AudioQuran>(cs); } } if (AudioSura.AudioSlices != null) { for (int i = 0; i < listBox.Items.Count; i++) { (listBox.Items[i] as TempAudioSlice).Position = AudioSura.AudioSlices[i].Start; } } } }