0

在此处输入图像描述

MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(ctx, "tag");

当我设置 .style() 时,不会输出通知。除了设置上下文和标签之外,您还需要在 mediaSessionCompat 中做些什么吗?

4

1 回答 1

0

如果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());
}

不要忘记调用此方法,例如当您的数据更改时。我不知道你是怎么处理的,所以我不能提供一个正确的地方。我会说当歌曲更改时更新通知的同一个地方,这只是一个建议。

于 2021-12-07T20:28:04.987 回答