繁体   English   中英

如何从Android的内部和外部存储中获取所有.mp3文件

[英]How to get all .mp3 files from internal and external storage in android

我想做一个音乐播放器。 但是我无法从内部和外部存储中获取所有.mp3文件。 谁能帮我。 提前致谢。 这是我的代码。

    public void getListOfSong1(Context context) {
    SongData.cart.clear();
    Cursor c = context.getContentResolver().query(Media.INTERNAL_CONTENT_URI, null, "is_music != 0", null, null);
    c.moveToFirst();
    while (c.moveToNext()) {
        SongData songData = new SongData();
        int _id = c.getColumnIndex(MostAndRecentSongTableHelper.ID);
        String title = c.getString(c.getColumnIndex(MostAndRecentSongTableHelper.TITLE));
        String artist = c.getString(c.getColumnIndex(MostAndRecentSongTableHelper.ARTIST));
        String album = c.getString(c.getColumnIndex(FavoriteSongsTableHelper.ALBUM));
        long duration = c.getLong(c.getColumnIndex(MostAndRecentSongTableHelper.DURATION));
        String data = c.getString(c.getColumnIndex("_data"));
        long albumId = c.getLong(c.getColumnIndex(MostAndRecentSongTableHelper.ALBUM_ID));
        String composer = c.getString(c.getColumnIndex("composer"));
        songData.setId(_id);
        songData.setSongTitle(title);
        songData.setAlbum(album);
        songData.setArtist(artist);
        songData.setDuration(duration);
        songData.setSongPath(data);
        songData.setAlbumId(albumId);
        if (!data.endsWith(".mp3")) {
            if (!data.endsWith(".MP3")) {
            }
        }
        this.listOfSongs.add(songData);
    }
    c.close();
}

请找到下面的功能,该功能能够获取您想要的所有mp3歌曲。

public void getMp3Songs() {

    Uri allsongsuri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";

    cursor = managedQuery(allsongsuri, STAR, selection, null, null);

    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                song_name = cursor
                        .getString(cursor
                                .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
                int song_id = cursor.getInt(cursor
                        .getColumnIndex(MediaStore.Audio.Media._ID));

                String fullpath = cursor.getString(cursor
                        .getColumnIndex(MediaStore.Audio.Media.DATA));
                fullsongpath.add(fullpath);

                album_name = cursor.getString(cursor
                        .getColumnIndex(MediaStore.Audio.Media.ALBUM));
                int album_id = cursor.getInt(cursor
                        .getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));

                artist_name = cursor.getString(cursor
                        .getColumnIndex(MediaStore.Audio.Media.ARTIST));
                int artist_id = cursor.getInt(cursor
                        .getColumnIndex(MediaStore.Audio.Media.ARTIST_ID));


            } while (cursor.moveToNext());

        }
        cursor.close();
        db.closeDatabase();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM