I develop a little musicplayer using Android.media, I want to get the title, artist and etc. of the song, I search all over the internet but I don't find a code in C# !!! :/ plz help!!!

有帮助吗?

解决方案

/**
     * SD CARD QUERIES
     */
    public ArrayList<Track> getAllSdCardTracks(Context context) {
        ArrayList<Track> tracks = new ArrayList<Track>();

            Cursor c = context
                    .getContentResolver()
                    .query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                            new String[] { MediaStore.Audio.Media._ID,
                                    MediaStore.Audio.Media.DATA,
                                    MediaStore.Audio.Media.ARTIST,
                                    MediaStore.Audio.Media.ALBUM,
                                    MediaStore.Audio.Media.DURATION,
                                    MediaStore.Audio.Media.DISPLAY_NAME,
                                    MediaStore.Audio.Media.ALBUM_ID }, "1=1",
                            null, null);
            if (c.moveToFirst()) {
                do {
                    String mArtist = c
                            .getString(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
                    String mTitle = c
                            .getString(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
                    String mId = c.getString(c
                            .getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
                    String mAlbumName = c
                            .getString(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
                    String mAlbumID = c
                            .getString(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));

                    String mPath = c
                            .getString(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
                    long mDuration = c
                            .getLong(c
                                    .getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
                    String mFormattedDuration = DateUtils
                            .formatElapsedTime(mDuration / 1000);
                    Track track = new Track(mAlbumID, mAlbumName, mArtist, mId, mTitle, mPath   , mFormattedDuration);
                    tracks.add(track);
                } while (c.moveToNext());
                if (c != null)
                    c.close();
            }

        return tracks;

    }


public class Track{
String mAlbumId;
String mAlbumName;
String mArtist
String mId;
String mTitle;
String mPath;
String mDuration

public Track(String albumID,String albumName,String artist,String id,String title,String path ,String formattedDuration)
{
this.mAlbumId = albumId;
this.mAlbumName = albumName;
this.mArtist = artist;
this.mId = id;
this.mTitle = title;
this.mPath = path;
this.mDuration = formattedDuration;
}
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top