public async Task Play() { if (QuranApp.NativeProvider.AudioProvider.State == AudioPlayerPlayState.Playing) { // Do nothing return; } else if (QuranApp.NativeProvider.AudioProvider.State == AudioPlayerPlayState.Paused) { QuranApp.NativeProvider.AudioProvider.Play(); return; } else { var bounds = QuranUtils.GetPageBounds(CurrentPageNumber); QuranAyah ayah = new QuranAyah { Surah = bounds[0], Ayah = bounds[1] }; if (ayah.Ayah == 1 && ayah.Surah != Constants.SURA_TAWBA && ayah.Surah != Constants.SURA_FIRST) { ayah.Ayah = 0; } await PlayFromAyah(ayah); } }
private void GenerateLastAyah() { if (RepeatInfo.RepeatAmount == RepeatAmount.None) { LastAyah = FirstAyah; } else if (RepeatInfo.RepeatAmount == RepeatAmount.OneAyah) { LastAyah = GetLastAyahFromAyahCount(FirstAyah, 1); } else if (RepeatInfo.RepeatAmount == RepeatAmount.ThreeAyah) { LastAyah = GetLastAyahFromAyahCount(FirstAyah, 3); } else if (RepeatInfo.RepeatAmount == RepeatAmount.FiveAyah) { LastAyah = GetLastAyahFromAyahCount(FirstAyah, 5); } else if (RepeatInfo.RepeatAmount == RepeatAmount.TenAyah) { LastAyah = GetLastAyahFromAyahCount(FirstAyah, 10); } else if (RepeatInfo.RepeatAmount == RepeatAmount.Page) { int page = QuranUtils.GetPageFromAyah(FirstAyah); int[] pageBounds = QuranUtils.GetPageBounds(page); FirstAyah = new QuranAyah(pageBounds[0], pageBounds[1]); LastAyah = new QuranAyah(pageBounds[2], pageBounds[3]); } else if (RepeatInfo.RepeatAmount == RepeatAmount.Surah) { int surah = FirstAyah.Surah; int lastAyah = QuranUtils.GetSurahNumberOfAyah(surah); FirstAyah = new QuranAyah(surah, 1); LastAyah = new QuranAyah(surah, lastAyah); } else if (RepeatInfo.RepeatAmount == RepeatAmount.Rub) { var rub = QuranUtils.GetRub3FromAyah(FirstAyah.Surah, FirstAyah.Ayah); FirstAyah = QuranUtils.GetRub3FirstAyah(rub); LastAyah = QuranUtils.GetRub3LastAyah(rub); } else if (RepeatInfo.RepeatAmount == RepeatAmount.Juz) { var juz = QuranUtils.GetJuzFromAyah(FirstAyah.Surah, FirstAyah.Ayah); FirstAyah = QuranUtils.GetJuzFirstAyah(juz); LastAyah = QuranUtils.GetJuzLastAyah(juz); } }
public List <T> GetVerses(int page) { int[] bound = QuranUtils.GetPageBounds(page); return(GetVerses(bound[0], bound[1], bound[2], bound[3])); }