我正在使用 androidx.media3 开发一个音频播放器应用程序,它为用户提供了一个选项来评价当前正在播放的媒体。因此,在我的 MediaSessionCallback 中,我这样做:
override fun onSetRating(
session: MediaSession,
controller: ControllerInfo,
rating: Rating
): ListenableFuture<SessionResult> {
val item = session.player.currentMediaItem
item?.let {
val metadata = it.mediaMetadata.buildUpon().setUserRating(rating).build()
val mediaItem = it.buildUpon().setMediaMetadata(metadata).build()
session.player.setMediaItem(mediaItem, false)
}
return Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS))
}
这可行,但唯一需要注意的是 - 它暂时中断了音频。请帮助我了解如何正确执行此操作。