Una aplicación sencilla para reproducción de música offline escrita en Kotlin para Android. La aplicación tiene dos versiones: KMusic Bass que usa la librería BASS de un4seen y KMusic Exo que usa La API MediaPlayer de Android.
Quería una aplicación de música con la cual reproducir en bucle solo una parte de las canciones que me gustan con (A-B loop) y de paso usar la librería BASS de un4seen porque reproduce las pistas con muy buena calidad y me gustan todos los efectos de ecualizador que se pueden implementar. Pero ninguna de las apps que me gustaban tenían la función de repetición en bucle A-B, así que terminé haciendo más de lo que necesitaba ya que no soy un sibarita de las funciones en un reproductor de audio. Aún así estoy contento con lo que ha resultado y lo que he aprendido, aunque no es perfecta, la iré mejorando con el tiempo y espero que le pueda servir a cualquiera que necesite un ejemplo de reproductor de audio en Android. Siéntase libre de usar el código aquí publicado como más le convenga.
Versión con librería Bass Descargar
- Selector de archivos
- Ecualizador de 10 bandas y control de volúmen (en la versión con BASS)
- Ecualizador de 5 bandas (en la versión con MediaPlayer)
- Modo: repetir uno, repetir todo y aleatorio.
- Modo repetición de sección A-B
- Muestra la letra de la canción(si está disponible en los metadatos ID3)
- Editor de etiquetas de audio
- Agregar a favoritos
- Filtro por: Artista, Álbum, Género, Favoritos
- Búsqueda de canción por nombre
- Agregar canción a favoritos
- Creación de listas de reproducción
- Avance y retroceso rápido.
- Notificaciones multimedia.
- Controles multimedia en modo de bloqueo.
- Soporte para dispoditivos bluetooth
- Cambiar estilo de la cubierta del album mostrada en modo tarjeta o disco compacto.
Creo que hay muchas xD. Una de las más interesantes es el uso de MediaStore para escanear y listar los archivos de música. Cuando descubrí que podía usarla, ya tenía el proyecto bastante avanzado y me dio un poco de pereza implementarlo en ese momento xD. Además, me gusta poder agregar y quitar archivos como quiera, en el orden que desee. Por ahora, los archivos o directorios donde están las pistas se agregan manualmente de manera muy sencilla, por lo que no debería ser un desafío. De todas formas, tengo en cuenta la posibilidad de agregar una versión que use MediaStore.
- App
- bass (contiene los archivos de la librería BASS)
- core
- data
- di
- features
- audioeffects (ecualizadores para bass y exoplayer)
- mfilepicker (selector de archivos)
- KTMusic Bass, para los siguientes archivos y módulos:
- Clase MusicPlayerService
- Módulo audioeffects
- KTMusic Exo:
- Clase MusicPlayerService
- Módulo audioeffects
- Arquitectura MVVM
- ViewModel
- LiveData
- Kotlin coroutines
- un4seen
- MediaPlayer
- Android-splash-screen
- Glide
- Dagger Hilt
- DiscCoverView
- Room
- Jaudiotagger
- Fast scroll
Un agradecimiento especial a MarthaB94 por diseñar el ícono y el texto de marca para el splash screen. Su contribución ha sido invaluable para darle vida a la identidad visual de la aplicación.
MarthaB94 |
KMusic es de uso gratuito. En su variante KMusic Bass, utiliza la librería Bass de un4seen, la cual está disponible de forma gratuita para aplicaciones de uso libre. Si tu aplicación también es gratuita, puedes usarla sin ningún costo. Sin embargo, Bass ofrece también varios niveles de licencias de pago para aplicaciones comerciales.
Para más detalles sobre la licencia de la librería Bass, puedes consultar el sitio oficial de un4seen.