コード例 #1
0
ファイル: ListAyah.xaml.cs プロジェクト: Gravicode/QFE
 private void CallAyahEvent(BLL.quran_data.AyahData Ayah)
 {
     // Event will be null if there are no subscribers
     if (AyahSelectEvent != null)
     {
         AyahSelectEvent(Ayah);
     }
 }
コード例 #2
0
        void Recite()
        {
            switch ((ClickMode)CurrentState.CtlSetting.ClickMode)
            {
            case ClickMode.Recite:
                var    rec      = BLL.quran_data.getReciter(CurrentState.ReciterId);
                string _Prefix  = rec.mediaurl;
                string SurahKey = CurrentState.Surah.ToString().PadLeft(3, '0');
                string AyahKey  = CurrentState.Ayah.ToString().PadLeft(3, '0');
                string MediaUrl = string.Format(_Prefix, SurahKey, AyahKey);
                if (!CurrentState.isPlaying)
                {
                    CurrentState.isPlaying = true;
                }
                else
                {
                    QuranPlayer.Stop();
                }
                string NamaFile  = string.Format("{0}_{1}.mp3", SurahKey, AyahKey);
                string SubFolder = string.Format("reciter_{0}", rec.idx);
                string UrlMedia  = null;
                if (InternetState)
                {
                    UrlMedia = MediaDownloader.DownloadAndPlay(MediaUrl, SubFolder, NamaFile);
                }
                else
                {
                    UrlMedia = MediaDownloader.CheckOfflineMedia(MediaUrl, SubFolder, NamaFile);
                }
                if (!string.IsNullOrEmpty(UrlMedia))
                {
                    QuranPlayer.Source = new Uri(UrlMedia, UriKind.RelativeOrAbsolute);
                    QuranPlayer.Play();
                }
                break;

            case ClickMode.ReadTranslation:
                //only english
                if (CurrentState.LanguageId == 11)
                {
                    BLL.quran_data.AyahData item = (BLL.quran_data.AyahData)CurrentState.CtlAyah.ListData.SelectedItem;
                    speechSynthesizer.SpeakAsync(item.translation);
                }
                break;
            }
        }
コード例 #3
0
 void CtlAyah_AyahSelectEvent(BLL.quran_data.AyahData Ayah)
 {
     //play audio from internet
     CurrentState.Ayah = Ayah.idx;
     Recite();
 }