Android lista de música por carpetas y reproducirlas

Estoy desarrollando un reproductor de música para Android que ya está en el mercado. Los usuarios solicitan agregar una vista de carpeta para enumerar todas las carpetas que tienen música en su teléfono inteligente y deseo desarrollarla.

MediaStore ya sabe cuáles son las rutas correctas a seguir (porque necesita saberlas para volver a escanear cada vez que la sdcard), así que me preguntaba si hay alguna forma de obtener esas rutas y usarlas para mostrarle música al usuario.

Otra opción (pero no me gusta) para obtener esas rutas es consultar MediaStore para obtener toda la música en la biblioteca y hacer un bucle en ellas para obtener las rutas base comunes. Pero si el usuario tiene más de 1 / 2k de música, será una forma enorme y no optimizada.

¿Sabes cómo puedo solucionarlo?

También estaba pensando en enumerar todas las carpetas y archivos en la sdcard pero me encuentro con un problema recursivo porque no quiero mostrar:

No archivo de audio (ya hecho con un FileFilter)No muestra carpetas vacías (ya hecho pero tiene el problema recursivo)no mostrar carpetas con el archivo .nomedia (eso me dice que no hay ningún archivo multimedia, pero tiene el problema recursivo). Además, muchas carpetas creadas por otras aplicaciones no colocan el archivo .nomedia, así que les muestro

¿Qué piensas sobre esto?

ACTUALIZAR: lo que quiero hacer es algo como esto:https://play.google.com/store/apps/details?id=cyberniko.musicFolderPlayer Quiero mostrar las carpetas donde hay música y permitir que el usuario comience a reproducir música en las carpetas seleccionadas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta