Quran_android: Lückenloses Audio

Erstellt am 10. Apr. 2013  ·  9Kommentare  ·  Quelle: quran/quran_android

Salam alaikum,

Die App ist einfach beeindruckend, möge Allah Sie segnen. Ich habe mich nur gefragt, warum nicht alle "التلاوات" lückenlos sein sollen? Ich denke, hier ist eine Möglichkeit, wie Sie eine solche Funktion implementieren können:

  • Wenn "التلاوة" startet, lassen Sie die Hintergrund-Threads laufen, um die nächsten 3 Ayahs herunterzuladen.
  • Wenn „التلاوة“ zum Beispiel die 3. Ayah erreicht, dürfen die Hintergrund-Threads bis Ayah 6 heruntergeladen werden und so weiter.
  • Sie könnten eine Warteschlange mit Ayah-Instanzen verwalten und den Audiomanager Ayahs aus dieser Warteschlange abrufen lassen. Es ist ein einfacher Producer/Consumer-Betrieb.

Ich bin ein Java-Entwickler und kann in diesem Teil helfen. Hier ist mein Twitter-Account: @EngineerFouad

Beste Grüße~

Minor Suggestions

Hilfreichster Kommentar

heute sind alle außer 5 qaris lückenlos. wahrscheinlich ist es sinnvoller, diese qaris stattdessen an dieser Stelle zu lücken und die lückenhafte Unterstützung vollständig zu entfernen.

Ich habe auch einen Zweig, der auf Exoplayer umschaltet (Stand Ende Dezember 2019), obwohl ich keine spezielle Übergangslogik für Gap-Audio hineingesteckt habe. kann in Betracht ziehen, dies als Hauptakteur in der Zukunft in sha'Allah voranzutreiben.

Alle 9 Kommentare

wa3laikum alsalam,
jazakAllah khairan. Der Download ist nicht das Problem, da „Herunterladen“ der Standardmodus ist (was bedeutet, dass alle Dateien heruntergeladen werden, bevor wir mit dem Streaming beginnen).

Ich glaube, jemand hat uns eine ähnliche Lösung zu dem gegeben, was Sie vorgeschlagen haben, aber wir haben sie nicht verwendet, weil die MediaPlayer-Objekte im Allgemeinen ziemlich schwer sind. Die Lösung, die ich implementieren wollte, ist die Verwendung von setNextMediaPlayer-Methoden in MediaPlayer, der ab API-Level 16 eingeführt wurde.

Also denke ich, dass wir diesen Ansatz insha'Allah wählen sollten, da er einfacher und leichter ist.
walsalam 3alaikum.

Danke für die schnelle Antwort. Zunächst einmal bin ich mit setNextMediaPlayer() in API 16 nicht vertraut, aber ich denke, es benötigt eine Datenquelle, die die Datei der nächsten Ayah ist, die zum Zeitpunkt des Aufrufs von setNextMediaPlayer() vorhanden sein muss. Zweitens, können Sie setNextMediaPlayer() verwenden, während die App auf Ebene API 8 ausgeführt wird?

Schließlich, wie Sie sagten, werden die Dateien heruntergeladen, bevor sie gestreamt werden, daher sind keine Bedenken hinsichtlich des Arbeitsspeichers erforderlich, da wir uns nur mit Dateien befassen. Mit anderen Worten, die Warteschlange würde Instanzen einer Wrapper-Klasse enthalten, die Informationen über die Ayah und den Dateipfad enthält. Sie würden nur eine Instanz von MediaPlayer verwenden.

Danke.

  1. ja, das sollte kein Problem sein.
  2. Ja, aber es funktioniert nur auf API-Level 16+.

Ich glaube nicht, dass viel verarbeitet wird - der Grund für den Platz (glaube ich) liegt am MediaPlayer selbst und daran, wie er die Dateien auslagert (da die Datei zu diesem Zeitpunkt bereits heruntergeladen ist, also theoretisch es sollte sehr schnell mit dem Abspielen beginnen, besonders wenn es sich nicht um eine externe SD-Karte handelt).

Mögliches Duplikat von #231

Salam alaikum,
Ich bin beeindruckt von der Arbeit, die an der App geleistet wurde.
Ich möchte nur vorschlagen, Exoplayer zu verwenden, um lückenloses Audio zu erhalten. Es ist wirklich ein fortschrittliches Audio-Framework. Ich habe die Quran-App entwickelt, die von Quran Android inspiriert ist und Exoplayer verwendet, um mehrere Ayat abzuspielen. Das Aufklaffen ist beim Rezitieren fast nicht wahrnehmbar. Ich werde einen Link zum Testen der App einfügen. Klicken Sie einfach auf die Aya-Nummer in der App und drücken Sie die Wiedergabetaste.
https://drive.google.com/file/d/1auO-B9aMJlSWd846CylRg9G-ciRnO1u0/view?usp=sharing

Ich kann den Link zum App-Repository auf GitHub geben, wenn mir das Ergebnis gefällt.

Danke für deine Bemühungen.

Wa alaikum assalam @vipafattal.

Klingt nach einem tollen Upgrade. Getestet mit "Maher Al Muaiqly", Lücken werden gnädiger behandelt.

Bitte PN senden.

wa3laikum alsalam,
masha'Allah, das ist großartig - wenn Sie Zeit haben, an einer PR zu arbeiten, fühlen Sie sich bitte frei, sonst wird in sha'Allah versuchen, dies zu tun.
walsalam 3alaikum.

Galt es hat euch gefallen!
Es tut mir wirklich leid, aber derzeit habe ich keine Zeit, PR zu erstellen.
Wie auch immer, ich habe mich entschieden, Musahf Open Source zu machen, hier ist ein Link zum Repository:
Musahf
Sehen Sie, wie ich es geschafft habe, eine Medienquelle für jeden Reciter-Link für die Offline-Streaming-Wiedergabe von der Datei Play MediaSourceBuilder.kt zu erstellen. Dann übergebe ich die erstellte Medienquelle in ReciterPlayer.kt (siehe Funktion „onDownloadingCompleted“) an ReadQuranActivity.kt .

Hilfreiche Links zu Exoplayer:
Google-Codelab
Google Exolpayer Pub auf Medium

heute sind alle außer 5 qaris lückenlos. wahrscheinlich ist es sinnvoller, diese qaris stattdessen an dieser Stelle zu lücken und die lückenhafte Unterstützung vollständig zu entfernen.

Ich habe auch einen Zweig, der auf Exoplayer umschaltet (Stand Ende Dezember 2019), obwohl ich keine spezielle Übergangslogik für Gap-Audio hineingesteckt habe. kann in Betracht ziehen, dies als Hauptakteur in der Zukunft in sha'Allah voranzutreiben.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

habibr picture habibr  ·  12Kommentare

animehunter123 picture animehunter123  ·  9Kommentare

ahmedre picture ahmedre  ·  7Kommentare

muafakul picture muafakul  ·  14Kommentare

Ramaddan picture Ramaddan  ·  9Kommentare