1

まず第一に、私は初心者です。mediametadataretriever で uri として設定するものを知りたいですか?? 通常のパスをuriパスに変換する方法は何ですか?

これ (files[i].getName()) を何に置き換えればいいですか????

ここにコードがあります

public ArrayList<SongDetails> getSongsFromDirectory(File f)
        {MediaMetadataRetriever mmr = new MediaMetadataRetriever();
            ArrayList<SongDetails> songs = new ArrayList<SongDetails>();
            if (!f.exists() || !f.isDirectory()) 

            {    
                return songs;
            }
            File[] files = f.listFiles(new Mp3Filter());
            for(int i=0; i<files.length; i++) 
            { 
                Uri uri = Uri.fromFile(files[i]);
                //mmr.setDataSource(null, uri);

            if (files[i].isFile()){ 
            SongDetails detail=new SongDetails(); 
            detail.setIcon(R.drawable.ic_launcher); 

            detail.setSong(files[i].getName()); 
            //detail.setArtist(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST)); 
            //detail.setAlbum(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM)); 
            songs.add(detail); 
            }else if (files[i].isDirectory()){ 
            songs.addAll(getSongsFromDirectory(files[i])); 
            } 

            }

            return songs;



    } }
4

1 に答える 1