示例#1
0
        async void InitQuran()
        {

            //setup state
            CurrentState = new QuranState();

            //setup data from config
            CurrentState.config = new Konfigurasi();
            CurrentState.Ayah = CurrentState.config.AyahLastOpen;
            CurrentState.Surah = CurrentState.config.SurahLastOpen;
            CurrentState.LanguageId = CurrentState.config.LanguageLastOpen;
            CurrentState.ReciterId = CurrentState.config.ReciterLastOpen;
            CurrentState.Juz = CurrentState.config.JuzLastOpen;

            //speech synth
            speechSynthesizer = new SpeechSynthesizer();
            speechSynthesizer.SelectVoiceByHints(VoiceGender.Female);
            speechSynthesizer.Volume = Convert.ToInt32(CurrentState.config.Volume * 100);
            speechSynthesizer.SpeakCompleted += speechSynthesizer_SpeakCompleted;

            //setup setting
            CurrentState.CtlSetting = new ListSetting();
            ExpanderSetting.Content = CurrentState.CtlSetting;
            //get configuration from config
            CurrentState.CtlSetting.setVolume(CurrentState.config.Volume);
            CurrentState.CtlSetting.setVerseSize(CurrentState.config.VerseSize);
            CurrentState.CtlSetting.setClickMode(CurrentState.config.ClickMode);
            CurrentState.CtlSetting.setPlayMode(CurrentState.config.PlayMode);
            CurrentState.CtlSetting.setVoice(CurrentState.config.isVoiceEnable);
            CurrentState.CtlSetting.setGesture(CurrentState.config.isGestureEnable);
            CurrentState.CtlSetting.setAutoShutdown(CurrentState.config.isAutoShutdownEnable);
            CurrentState.CtlSetting.VerseChangeEvent += CtlSetting_VerseChangeEvent;
            CurrentState.CtlSetting.VolumeChangeEvent += CtlSetting_VolumeChangeEvent;

            //setup expander
            var Jz = BLL.quran_data.getJuz(CurrentState.Juz);
            setExpanderTitle(ExpanderJuz, "Juzlbl", "Selected Juz: " + Jz.idx + ". " + Jz.name);

            var Rct = BLL.quran_data.getReciter(CurrentState.ReciterId);
            setExpanderTitle(ExpanderReciter, "Reciterlbl", Rct.name);

            var Lng = BLL.quran_data.getLanguage(CurrentState.LanguageId);
            setExpanderTitle(ExpanderLanguage, "Langlbl", Lng.lang);

            //player state
            CurrentState.isPlaying = false;
            QuranPlayer.LoadedBehavior = MediaState.Manual;
            QuranPlayer.UnloadedBehavior = MediaState.Stop;
            //QuranPlayer.Volume = CurrentState.config.Volume;
            QuranPlayer.Stop();
            Binding volBInding = new Binding("Volume");
            volBInding.Source = CurrentState.CtlSetting;
            QuranPlayer.SetBinding(MediaElement.VolumeProperty, volBInding);

            //setup language
            CurrentState.CtlLanguage = new ListLanguage();
            CurrentState.CtlLanguage.Height = 250;
            CurrentState.CtlLanguage.LanguageSelectEvent += CtlLanguage_LanguageSelectEvent;
            ExpanderLanguage.Content = CurrentState.CtlLanguage;

            //setup reciter
            CurrentState.CtlReciter = new ListReciter();
            CurrentState.CtlReciter.Height = 250;
            CurrentState.CtlReciter.ReciterSelectEvent += CtlReciter_ReciterSelectEvent;
            ExpanderReciter.Content = CurrentState.CtlReciter;

            //setup juz
            CurrentState.CtlJuz = new ListJuz();
            CurrentState.CtlJuz.Height = 250;
            CurrentState.CtlJuz.JuzSelectEvent += CtlJuz_JuzSelectEvent;
            ExpanderJuz.Content = CurrentState.CtlJuz;

            //setup surah
            CurrentState.CtlSurah = new ListSurah();
            CurrentState.CtlSurah.SurahSelectEvent += CtlSurah_SurahSelectEvent;
            CurrentState.CtlSurah.Height = 250;
            ExpanderSurah.Content = CurrentState.CtlSurah;
            CurrentState.CtlSurah.LoadSurah(CurrentState.Juz);

            //setup ayah
            CurrentState.CtlAyah = new ListAyah();
            CurrentState.CtlAyah.AyahSelectEvent += CtlAyah_AyahSelectEvent;

            AyahPanel.Children.Add(CurrentState.CtlAyah);

            //select last opened ayah
            LoadSpecificSurah(CurrentState.Surah, CurrentState.Ayah);
            CurrentState.CtlAyah.SetItemAyah(CurrentState.Ayah - 1, Brushes.Red, true, false);

            //load bookmark
            CurrentState.CtlBookmark = new ListBookmark();
            CurrentState.CtlBookmark.BookmarkSelectEvent += CtlBookmark_BookmarkSelectEvent;
            CurrentState.CtlBookmark.Height = 250;
            ExpanderBookmark.Content = CurrentState.CtlBookmark;

            //Internet check
            InternetState = await QFE.WPF.Tools.Internet.CheckConnection(CurrentState.config.UrlRecitation);
            if (!InternetState) MessageBox.Show("No Internet connection.", "Warning");

        }
示例#2
0
        async void InitQuran()
        {
            //setup state
            CurrentState = new QuranState();

            //setup data from config
            CurrentState.config     = new Konfigurasi();
            CurrentState.Ayah       = CurrentState.config.AyahLastOpen;
            CurrentState.Surah      = CurrentState.config.SurahLastOpen;
            CurrentState.LanguageId = CurrentState.config.LanguageLastOpen;
            CurrentState.ReciterId  = CurrentState.config.ReciterLastOpen;
            CurrentState.Juz        = CurrentState.config.JuzLastOpen;

            //speech synth
            speechSynthesizer = new SpeechSynthesizer();
            speechSynthesizer.SelectVoiceByHints(VoiceGender.Female);
            speechSynthesizer.Volume          = Convert.ToInt32(CurrentState.config.Volume * 100);
            speechSynthesizer.SpeakCompleted += speechSynthesizer_SpeakCompleted;

            //setup setting
            CurrentState.CtlSetting = new ListSetting();
            ExpanderSetting.Content = CurrentState.CtlSetting;
            //get configuration from config
            CurrentState.CtlSetting.setVolume(CurrentState.config.Volume);
            CurrentState.CtlSetting.setVerseSize(CurrentState.config.VerseSize);
            CurrentState.CtlSetting.setClickMode(CurrentState.config.ClickMode);
            CurrentState.CtlSetting.setPlayMode(CurrentState.config.PlayMode);
            CurrentState.CtlSetting.setVoice(CurrentState.config.isVoiceEnable);
            CurrentState.CtlSetting.setGesture(CurrentState.config.isGestureEnable);
            CurrentState.CtlSetting.setAutoShutdown(CurrentState.config.isAutoShutdownEnable);
            CurrentState.CtlSetting.VerseChangeEvent  += CtlSetting_VerseChangeEvent;
            CurrentState.CtlSetting.VolumeChangeEvent += CtlSetting_VolumeChangeEvent;

            //setup expander
            var Jz = BLL.quran_data.getJuz(CurrentState.Juz);

            setExpanderTitle(ExpanderJuz, "Juzlbl", "Selected Juz: " + Jz.idx + ". " + Jz.name);

            var Rct = BLL.quran_data.getReciter(CurrentState.ReciterId);

            setExpanderTitle(ExpanderReciter, "Reciterlbl", Rct.name);

            var Lng = BLL.quran_data.getLanguage(CurrentState.LanguageId);

            setExpanderTitle(ExpanderLanguage, "Langlbl", Lng.lang);

            //player state
            CurrentState.isPlaying       = false;
            QuranPlayer.LoadedBehavior   = MediaState.Manual;
            QuranPlayer.UnloadedBehavior = MediaState.Stop;
            //QuranPlayer.Volume = CurrentState.config.Volume;
            QuranPlayer.Stop();
            Binding volBInding = new Binding("Volume");

            volBInding.Source = CurrentState.CtlSetting;
            QuranPlayer.SetBinding(MediaElement.VolumeProperty, volBInding);

            //setup language
            CurrentState.CtlLanguage        = new ListLanguage();
            CurrentState.CtlLanguage.Height = 250;
            CurrentState.CtlLanguage.LanguageSelectEvent += CtlLanguage_LanguageSelectEvent;
            ExpanderLanguage.Content = CurrentState.CtlLanguage;

            //setup reciter
            CurrentState.CtlReciter                     = new ListReciter();
            CurrentState.CtlReciter.Height              = 250;
            CurrentState.CtlReciter.ReciterSelectEvent += CtlReciter_ReciterSelectEvent;
            ExpanderReciter.Content                     = CurrentState.CtlReciter;

            //setup juz
            CurrentState.CtlJuz                 = new ListJuz();
            CurrentState.CtlJuz.Height          = 250;
            CurrentState.CtlJuz.JuzSelectEvent += CtlJuz_JuzSelectEvent;
            ExpanderJuz.Content                 = CurrentState.CtlJuz;

            //setup surah
            CurrentState.CtlSurah = new ListSurah();
            CurrentState.CtlSurah.SurahSelectEvent += CtlSurah_SurahSelectEvent;
            CurrentState.CtlSurah.Height            = 250;
            ExpanderSurah.Content = CurrentState.CtlSurah;
            CurrentState.CtlSurah.LoadSurah(CurrentState.Juz);

            //setup ayah
            CurrentState.CtlAyah = new ListAyah();
            CurrentState.CtlAyah.AyahSelectEvent += CtlAyah_AyahSelectEvent;

            AyahPanel.Children.Add(CurrentState.CtlAyah);

            //select last opened ayah
            LoadSpecificSurah(CurrentState.Surah, CurrentState.Ayah);
            CurrentState.CtlAyah.SetItemAyah(CurrentState.Ayah - 1, Brushes.Red, true, false);

            //load bookmark
            CurrentState.CtlBookmark = new ListBookmark();
            CurrentState.CtlBookmark.BookmarkSelectEvent += CtlBookmark_BookmarkSelectEvent;
            CurrentState.CtlBookmark.Height = 250;
            ExpanderBookmark.Content        = CurrentState.CtlBookmark;

            //Internet check
            InternetState = await QFE.WPF.Tools.Internet.CheckConnection(CurrentState.config.UrlRecitation);

            if (!InternetState)
            {
                MessageBox.Show("No Internet connection.", "Warning");
            }
        }