@Override public void onMetadataChanged(MediaMetadataCompat metadata) { super.onMetadataChanged(metadata); mMetadata = metadata; Notification notification = createNotification(); if (notification != null) { mNotificationManager.notify(NOTIFICATION_ID, notification); } }
@Override public void onMetadataChanged(MediaMetadataCompat metadata) { super.onMetadataChanged(metadata); mMetadata = metadata; Notification notification = createNotification(); if (notification != null) { mNotificationManager.notify(NOTIFICATION_ID, notification); } }
@Override public void perform(@NonNull Callback callback) { callback.onMetadataChanged(metadata); } });
@Override public void onMetadataChanged(MediaMetadataCompat metadata) { super.onMetadataChanged(metadata); nowPlaying = metadata != null ? metadata : NOTHING_PLAYING; //状态监听 CopyOnWriteArrayList<OnPlayerEventListener> mPlayerEventListeners = MusicManager.getInstance().getPlayerEventListeners(); if (metadata != null) { SongInfo songInfo = null; for (OnPlayerEventListener listener : mPlayerEventListeners) { List<SongInfo> songInfos = MusicProvider.getInstance().getSongInfos(); for (SongInfo info : songInfos) { if (info.getSongId().equals(metadata.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID))) { songInfo = info; break; } } listener.onMusicSwitch(songInfo); } } }
public void registerCallback(Callback callback) { if (callback != null) { mCallbackList.add(callback); // Update with the latest metadata/playback state. if (mMediaController != null) { final MediaMetadataCompat metadata = mMediaController.getMetadata(); if (metadata != null) { callback.onMetadataChanged(metadata); } final PlaybackStateCompat playbackState = mMediaController.getPlaybackState(); if (playbackState != null) { callback.onPlaybackStateChanged(playbackState); } } } }
@Override public void onMetadataChanged(Object metadataObj) { Callback.this.onMetadataChanged( MediaMetadataCompat.fromMediaMetadata(metadataObj)); } }
@Override public void onMetadataChanged(MediaMetadataCompat metadata) { super.onMetadataChanged(metadata); final int max = metadata != null ? (int) metadata.getLong(MediaMetadataCompat.METADATA_KEY_DURATION) : 0; setProgress(0); setMax(max); }