0

我正在使用 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))
}

这可行,但唯一需要注意的是 - 它暂时中断了音频。请帮助我了解如何正确执行此操作。

4

0 回答 0