Exemple #1
0
        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);
        }
Exemple #2
0
        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;
                    }
                }
            }
        }