Android listar músicas por pastas e reproduzi-las

Estou desenvolvendo tocador de música para android que já está no mercado. Os usuários estão pedindo para adicionar uma visualização de pasta para listar todas as pastas que têm música no smartphone e quero desenvolvê-la.

O MediaStore já sabe quais são os caminhos corretos a seguir (porque ele precisa conhecê-los para varrer novamente todas as vezes o sdcard), por isso fiquei me perguntando se existe uma maneira de obter esses caminhos e usá-los para mostrar música ao usuário.

Outra opção (mas eu não gosto disso) de obter esses caminhos é consultar o MediaStore para todas as músicas da biblioteca e fazer um loop nelas para obter os caminhos base comuns. Mas se o usuário tiver mais de 1 / 2k de música, será uma maneira enorme e não otimizada.

Você sabe como eu posso resolver isso?

Eu também estava pensando em listar todas as pastas e arquivos no sdcard, mas estou encontrando algum problema recursivo porque não quero mostrar:

não arquivo de áudio (já feito com um FileFilter)não mostra pastas vazias (já feitas, mas tem o problema recursivo)não mostrar pastas com o arquivo .nomedia (isso me diz que não há arquivos de mídia, mas tem o problema recursivo). Também muitas pastas criadas por outros aplicativos não colocam o arquivo .nomedia, então eu tenho que mostrá-las

O que você pensa sobre isso?

ATUALIZAR: o que eu quero fazer é algo assim:https://play.google.com/store/apps/details?id=cyberniko.musicFolderPlayer Eu quero mostrar pastas onde existem algumas músicas e permitir que o usuário comece a reproduzir músicas em pastas selecionadas.

questionAnswers(2)

yourAnswerToTheQuestion