Quran_android: Audio sin interrupciones

Creado en 10 abr. 2013  ·  9Comentarios  ·  Fuente: quran/quran_android

Salam alaikum,

La aplicación es simplemente impresionante, que Allah te bendiga. Me preguntaba por qué no hacer que todo "التلاوات" sea sin espacios. Aquí hay una forma que estoy pensando en que puede usar para implementar dicha función:

  • Cuando comience "التلاوة", deje que los subprocesos de fondo descarguen las siguientes 3 Ayahs.
  • Cuando "التلاوة" llega a la 3.ª ayah, por ejemplo, se permite descargar los subprocesos en segundo plano hasta la 6. ayah, y así sucesivamente.
  • Puede mantener una cola de instancias de Ayah y dejar que el administrador de audio recoja las ayahs de esa cola. Es una operación simple productor/consumidor.

Soy un desarrollador de Java y puedo ayudar en esta parte. Aquí está mi cuenta de twitter: @EngineerFouad

Saludos ~

Minor Suggestions

Comentario más útil

hoy en día, todos excepto 5 qaris no tienen espacios. probablemente tenga más sentido eliminar esos qaris en este punto y eliminar completamente el soporte con espacios.

También tengo una rama que cambia a exoplayer (a fines de diciembre de 2019), aunque no conecté ninguna lógica de transición especial para el audio con brechas. puede considerar empujar eso como el jugador principal en el futuro en sha' Allah.

Todos 9 comentarios

wa3laikum alsalam,
yazakAllah khairan. la descarga no es el problema ya que "descargar" es el modo predeterminado (lo que significa que todos los archivos se descargarán antes de que comencemos a transmitir).

Creo que alguien nos dio una solución similar a la que sugeriste, pero no la usamos porque, en general, los objetos de MediaPlayer son bastante pesados. la solución que quería implementar es usar los métodos setNextMediaPlayer en MediaPlayer, que se introdujo a partir del nivel 16 de api.

así que creo que deberíamos optar por este enfoque, insha'Allah, ya que es más simple y liviano.
walsalam 3alaikum.

Gracias por la pronta respuesta. En primer lugar, no estoy familiarizado con setNextMediaPlayer() en la API 16, pero creo que necesita una fuente de datos que es el archivo de la próxima ley, que debe existir al momento de llamar a setNextMediaPlayer(). En segundo lugar, ¿puede usar setNextMediaPlayer() mientras la aplicación se ejecuta en el nivel API 8?

Finalmente, como dijiste, los archivos se descargan antes de transmitirlos, por lo que no es necesario preocuparse por la RAM, ya que solo tratamos con archivos. En otras palabras, la cola contendría instancias de una clase contenedora que contiene información sobre Ayah y la ruta del archivo. Solo usaría una instancia de MediaPlayer.

Gracias.

  1. si, eso no debería ser un problema.
  2. sí, pero solo funcionará en el nivel de API 16+.

No creo que esté ocurriendo mucho procesamiento: la razón del espacio (creo) se debe al propio MediaPlayer y a cómo intercambia los archivos (dado que en ese momento, el archivo ya está descargado, por lo que, en teoría, debe ser muy rápido para comenzar a reproducirlo, especialmente cuando no está en una tarjeta SD externa).

Posible duplicado de #231

Salam alaikum,
Estoy impresionado por el trabajo que se ha hecho en la aplicación.
Solo quiero sugerir usar Exoplayer para obtener audio sin pausas, es realmente un marco de audio avanzado, creé la aplicación Quran inspirada en Quran Android que usa Exoplayer para reproducir múltiples Ayat. El bostezo casi no se nota en la recitación. Pondré un enlace para probar la aplicación, simplemente haga clic en el número de Aya en la aplicación y presione el botón de reproducción.
https://drive.google.com/file/d/1auO-B9aMJlSWd846CylRg9G-ciRnO1u0/view?usp=sharing

Puedo dar el enlace al repositorio de la aplicación en GitHub si me gustó el resultado.

Gracias por tus esfuerzos.

Wa alaikum assalam @vipafattal.

Suena como una actualización impresionante. Probado con "Maher Al Muaiqly", las brechas se manejan con más gracia.

Por favor envíe PR.

wa3laikum alsalam,
masha'Allah, esto es increíble: si tiene tiempo para trabajar en una RP, siéntase libre, de lo contrario, en sha'Allah intentará hacer esto.
walsalam 3alaikum.

¡Qué bueno que te gustó!
Lo siento mucho, pero actualmente no tengo tiempo para crear relaciones públicas.
De todos modos, he decidido hacer que Musahf sea de código abierto aquí hay un enlace al repositorio:
Musahf
Vea cómo me las arreglé para crear una fuente de medios para cada enlace de recitador para la transmisión de reproducción sin conexión desde la reproducción de archivos MediaSourceBuilder.kt , luego paso la fuente de medios creada en ReciterPlayer.kt (consulte la función 'onDownloadingCompleted') a ReadQuranActivity.kt .

Enlaces útiles a Exoplayer:
Laboratorio de código de Google
Google Exolpayer Pub en medio

hoy en día, todos excepto 5 qaris no tienen espacios. probablemente tenga más sentido eliminar esos qaris en este punto y eliminar completamente el soporte con espacios.

También tengo una rama que cambia a exoplayer (a fines de diciembre de 2019), aunque no conecté ninguna lógica de transición especial para el audio con brechas. puede considerar empujar eso como el jugador principal en el futuro en sha' Allah.

¿Fue útil esta página
0 / 5 - 0 calificaciones