Obtenha arquivos no formato .mp3 do dispositivo Android

Estou desenvolvendo um music player. Quero obter todos os arquivos no formato .mp3 do dispositivo Android. Mas esse código não está recebendo nenhum arquivo. Meus arquivos .mp3 estão na pasta 'sdcard / music'. Se eu mudar oMEDIA_PATH = new String("sdcard/music"); assim, está obtendo arquivos apenas dessa pasta de músicas. Mas eu preciso obter todos os arquivos .mp3 de cada pasta no meu cartão de memória externo / interno. Por favor me ajude. esse é o meu código

final String MEDIA_PATH = new String(Environment.getExternalStorageDirectory());

public void Generate_Database(){
    File home = new File(MEDIA_PATH);

    if (home.listFiles(new FileExtensionFilter()).length > 0) {
        for (File file : home.listFiles(new FileExtensionFilter())) {
            String title = file.getName().substring(0, (file.getName().length() - 4));
            String path = file.getPath();
            mediaInfo.setDataSource(path);

            String albumName = "unknown",artist = "unknown",genere = "unknown",duration = "unknown",composer = "unknown";

            if(mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM) == null)
                albumName = "unknown";
            else{
                albumName = mediaInfo.extractMetadata(Med,iaMetadataRetriever.METADATA_KEY_ALBUM);
            }
            if(mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST) == null)
                artist = "unknown";
            else{
                artist = mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
            }
            if(mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE) == null)
                genere = "unknown";
            else{
                genere = mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);
            }
            if(mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION) == null)
                duration = "unknown";
            else{
                duration = mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
            }
            if(mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_COMPOSER) == null)
                composer = "unknown";
            else{
                composer = mediaInfo.extractMetadata(MediaMetadataRetriever.METADATA_KEY_COMPOSER);
            }

            //Toast.makeText(getApplicationContext(), title+path+ albumName+artist+ genere+ duration+ composer, Toast.LENGTH_LONG).show();

            ds.createEntry2(title, path, albumName, artist, genere, duration, composer);
        }
    }

isso é usado para extrair os arquivos .mp3

class FileExtensionFilter implements FilenameFilter {
    public boolean accept(File dir, String name) {
        return (name.endsWith(".mp3") || name.endsWith(".MP3"));
    }

}

questionAnswers(1)

yourAnswerToTheQuestion