List of usage examples for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_ID
String METADATA_KEY_MEDIA_ID
To view the source code for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_ID.
Click Source Link
From source file:com.ubimobitech.spotifystreamer.model.MusicProvider.java
public static MediaMetadataCompat buildFromTrack(Track track) { if (track != null) { return new MediaMetadataCompat.Builder().putString(CUSTOM_METADATA_TRACK_PREVIEW_URL, track.preview_url) .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, track.id) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, track.album.name) .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, track.artists.get(0).name) .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, track.duration_ms) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, track.album.images.get(0).url) .putString(MediaMetadataCompat.METADATA_KEY_TITLE, track.name) .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, track.track_number).build(); }/*from w w w. ja v a 2 s.co m*/ return null; }
From source file:com.scooter1556.sms.lib.android.utils.MediaUtils.java
public static MediaMetadataCompat getMediaMetadata(MediaElement mediaElement, Bitmap artwork) { if (mediaElement == null) { return null; }/*from w w w . j av a 2 s .c o m*/ // Update session metadata MediaMetadataCompat.Builder metadata = new MediaMetadataCompat.Builder(); metadata.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, mediaElement.getID().toString()); if (mediaElement.getArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, mediaElement.getArtist()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, mediaElement.getArtist()); } if (mediaElement.getAlbum() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, mediaElement.getAlbum()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, mediaElement.getAlbum()); } if (mediaElement.getTitle() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_TITLE, mediaElement.getTitle()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, mediaElement.getTitle()); } if (mediaElement.getDuration() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, mediaElement.getDuration() * 1000); } if (mediaElement.getYear() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_YEAR, mediaElement.getYear()); } if (mediaElement.getGenre() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_GENRE, mediaElement.getGenre()); } if (mediaElement.getTrackNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, mediaElement.getTrackNumber()); } if (mediaElement.getDiscNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DISC_NUMBER, mediaElement.getDiscNumber()); } if (mediaElement.getAlbumArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, mediaElement.getAlbumArtist()); } if (artwork != null) { metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artwork); metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, artwork); metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, artwork); } return metadata.build(); }
From source file:com.bayapps.android.robophish.utils.SimpleMusicProviderSource.java
public void add(String title, String album, String artist, String genre, String source, String iconUrl, long trackNumber, long totalTrackCount, long durationMs) { String id = String.valueOf(source.hashCode()); //noinspection ResourceType mData.add(new MediaMetadataCompat.Builder().putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, id) .putString(MusicProviderSource.CUSTOM_METADATA_TRACK_SOURCE, source) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, album) .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, artist) .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, durationMs) .putString(MediaMetadataCompat.METADATA_KEY_GENRE, genre) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, iconUrl) .putString(MediaMetadataCompat.METADATA_KEY_TITLE, title) .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, trackNumber) .putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, totalTrackCount).build()); }
From source file:com.appdevper.mediaplayer.util.QueueHelper.java
private static List<MediaSessionCompat.QueueItem> convertToQueue(Iterable<MediaMetadataCompat> tracks, String... categories) {//w ww . j av a 2 s .co m List<MediaSessionCompat.QueueItem> queue = new ArrayList<>(); int count = 0; for (MediaMetadataCompat track : tracks) { // We create a hierarchy-aware mediaID, so we know what the queue is about by looking // at the QueueItem media IDs. String hierarchyAwareMediaID = MediaIDHelper.createMediaID(track.getDescription().getMediaId(), categories); MediaMetadataCompat trackCopy = new MediaMetadataCompat.Builder(track) .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, hierarchyAwareMediaID).build(); // We don't expect queues to change after created, so we use the item index as the // queueId. Any other number unique in the queue would work. MediaSessionCompat.QueueItem item = new MediaSessionCompat.QueueItem(trackCopy.getDescription(), count++); queue.add(item); } return queue; }
From source file:com.example.android.uamp.model.ExternalStorageSource.java
@Override public Iterator<MediaMetadataCompat> iterator() { ArrayList<MediaMetadataCompat> tracks = new ArrayList<>(); Cursor cursor;// w ww . jav a2s . com Uri euri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; // String[] projection = {MediaStore.Audio.Media._ID, // MediaStore.Audio.Media.DISPLAY_NAME, // MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.TITLE}; String selection = MediaStore.Audio.Media.IS_MUSIC + "!=" + 0; cursor = mContentResolver.query(euri, null, selection, null, MediaStore.Audio.Media.TITLE + " ASC"); // retrieve the indices of the columns where the ID, title, etc. of the song are int artistColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST); int titleColumn = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); int albumColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM); int durationColumn = cursor.getColumnIndex(MediaStore.Audio.Media.DURATION); int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID); int dataColumn = cursor.getColumnIndex(MediaStore.Audio.Media.DATA); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { tracks.add(new MediaMetadataCompat.Builder() .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, cursor.getString(idColumn)) .putString(MusicProviderSource.CUSTOM_METADATA_TRACK_SOURCE, cursor.getString(dataColumn)) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, cursor.getString(albumColumn)) .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, cursor.getString(artistColumn)) .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, cursor.getLong(durationColumn)) .putString(MediaMetadataCompat.METADATA_KEY_GENRE, "Pop") .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, "") .putString(MediaMetadataCompat.METADATA_KEY_TITLE, cursor.getString(titleColumn)) .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, 2) .putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, 2).build()); } return tracks.iterator(); }
From source file:com.appdevper.mediaplayer.util.QueueHelper.java
private static List<MediaSessionCompat.QueueItem> convertToQueue(Iterable<MediaMetadataCompat> tracks) { List<MediaSessionCompat.QueueItem> queue = new ArrayList<>(); int count = 0; for (MediaMetadataCompat track : tracks) { MediaMetadataCompat trackCopy = new MediaMetadataCompat.Builder(track) .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, track.getDescription().getMediaId()) .build();// w w w . jav a 2s. c o m MediaSessionCompat.QueueItem item = new MediaSessionCompat.QueueItem(trackCopy.getDescription(), count++); queue.add(item); } return queue; }
From source file:com.doctoror.fuckoffmusicplayer.data.reporter.MediaSessionPlaybackReporter.java
@Override public void reportTrackChanged(@NonNull final Media media) { final Uri data = media.getData(); final MediaMetadataCompat.Builder b = new MediaMetadataCompat.Builder() .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, Long.toString(media.getId())) .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_URI, data != null ? data.toString() : null) .putText(MediaMetadataCompat.METADATA_KEY_TITLE, media.getTitle()) .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, media.getDuration()) .putText(MediaMetadataCompat.METADATA_KEY_ARTIST, media.getArtist()) .putText(MediaMetadataCompat.METADATA_KEY_ALBUM, media.getAlbum()) .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, media.getTrack()); final String art = media.getAlbumArt(); Bitmap artBitmapSmall = null;/*from w w w . j a v a2s. c o m*/ if (!TextUtils.isEmpty(art)) { Bitmap artBitmapLarge = null; // Load bitmap because of https://code.google.com/p/android/issues/detail?id=194874 try { //noinspection SuspiciousNameCombination artBitmapLarge = mGlide.asBitmap().apply(requestOptions).load(art) // Optimized for lock screen .submit(mDisplayMetrics.widthPixels, mDisplayMetrics.heightPixels).get(); } catch (ExecutionException | InterruptedException e) { Log.w(TAG, "Failed loading art image", e); } // Small bitmap for app widget, if any final int dp84 = (int) (84f * mDisplayMetrics.density); try { artBitmapSmall = mGlide.asBitmap().apply(requestOptions).load(art) // Optimized for medium appwidget .submit(dp84, dp84).get(); } catch (ExecutionException | InterruptedException e) { Log.w(TAG, "Failed loading art image", e); } if (artBitmapLarge != null) { b.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artBitmapLarge); } b.putText(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, new File(media.getAlbumArt()).toURI().toString()); } mAlbumThumbHolder.setAlbumThumb(artBitmapSmall); mMediaSession.setMetadata(b.build()); }
From source file:rocks.stalin.android.app.model.ExternalStorageSource.java
@Override public Iterator<MediaMetadataCompat> iterator() { ArrayList<MediaMetadataCompat> tracks = new ArrayList<>(); if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { try {/* w ww . jav a2 s . c o m*/ Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; Cursor musicCursor = mContentResolver.query(musicUri, null, null, null, null); if (musicCursor != null && musicCursor.moveToFirst()) { int titleColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.TITLE); int idColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media._ID); int artistColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.ARTIST); int albumColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM); int durationColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.DURATION); int isMusicColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.IS_MUSIC); do { LogHelper.d(TAG, "i'm in da do"); if (musicCursor.getInt(isMusicColumn) != 0) { tracks.add(new MediaMetadataCompat.Builder() .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, musicCursor.getString(idColumn)) .putString(MediaMetadataCompat.METADATA_KEY_TITLE, musicCursor.getString(titleColumn)) .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, musicCursor.getString(artistColumn)) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, musicCursor.getString(albumColumn)) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, "https://raw.githubusercontent.com/sw8f17/logo/master/scotty.png") .putString(MediaMetadataCompat.METADATA_KEY_GENRE, "Unknown") .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, musicCursor.getLong(durationColumn)) .build()); } } while (musicCursor.moveToNext()); musicCursor.close(); } } catch (Exception e) { LogHelper.e(TAG, e, "Could not retrieve music list"); throw new RuntimeException("Could not retrieve music list", e); } } else { PermissionHelper.addMissingPermission(Manifest.permission.READ_EXTERNAL_STORAGE); } return tracks.iterator(); }
From source file:com.pyamsoft.dontsuckmp.album.TrackListItem.java
@Override public void bindView(ViewHolder holder, List<Object> payloads) { super.bindView(holder, payloads); Track track = getModel();/*from w w w . ja v a 2 s .co m*/ holder.binding.trackTitle.setText(track.title()); final long duration = track.duration(); holder.binding.trackDuration.setText(DateUtils.formatElapsedTime(duration / 1000)); String trackNumber; final int disc = track.disc(); if (disc == 0) { trackNumber = ""; } else { trackNumber = String.format(Locale.US, "%d/", disc); } final int number = track.track(); if (number == 0) { trackNumber += "?"; } else { trackNumber += String.valueOf(number); } holder.binding.trackNumber.setText(trackNumber); final int playIcon; final String trackMediaId = track.mediaId(); if (metadata == null) { playIcon = R.drawable.ic_play_arrow_24dp; } else { final String mediaId = metadata.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID); Timber.i("Metadata id: %s", mediaId); Timber.d("Compare to metadata id: %s", trackMediaId); if (trackMediaId.equals(mediaId)) { playIcon = R.drawable.ic_now_playing_24dp; } else { playIcon = R.drawable.ic_play_arrow_24dp; } } // TODO load play icon }
From source file:com.appdevper.mediaplayer.model.MusicProvider.java
public Iterable<MediaMetadataCompat> searchMusicByID(String query) { return searchMusic(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, query); }