MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(ctx, "tag");
当我设置 .style() 时,不会输出通知。除了设置上下文和标签之外,您还需要在 mediaSessionCompat 中做些什么吗?
MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(ctx, "tag");
当我设置 .style() 时,不会输出通知。除了设置上下文和标签之外,您还需要在 mediaSessionCompat 中做些什么吗?
如果setStyle
在通知上使用该方法,则需要为 MediaSession 提供元数据。
private void updateMetadata () {
mediaSession.setMetadata(new MediaMetadataCompat.Builder()
.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, song.getArtistTitle())
.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, song.getArtistTitle())
.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, song.getAlbumTitle())
.putString(MediaMetadataCompat.METADATA_KEY_TITLE, song.getTitle())
.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, song.getDuration())
.putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, getPosition())
.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, null)
.build());
}
不要忘记调用此方法,例如当您的数据更改时。我不知道你是怎么处理的,所以我不能提供一个正确的地方。我会说当歌曲更改时更新通知的同一个地方,这只是一个建议。