現在再生中のメディアを評価するオプションをユーザーに提供するオーディオ プレーヤー アプリを開発するために、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))
}
これは機能しますが、唯一の注意点があります。オーディオが一時的に中断されます。正しく行う方法を理解するのを手伝ってください。