ExoPlayer 通知管理器,隐藏快退和快进按钮

ysf*_*yln 9 android notificationmanager android-notifications exoplayer

我正在尝试实现 ExoPlayer 的Notification Manager,它运行良好,但我不想显示快退和快进按钮。我检查了文档,但找不到隐藏这些按钮的方法。有什么巧妙的方法可以隐藏它们吗?

这是我的代码

private fun initListener() {
    val playerNotificationManager: PlayerNotificationManager
    val notificationId = 1234
    val mediaDescriptionAdapter = object : PlayerNotificationManager.MediaDescriptionAdapter {
        override fun getCurrentSubText(player: Player?): String {
            return "Sub text"
        }

        override fun getCurrentContentTitle(player: Player): String {
            return "Title"
        }

        override fun createCurrentContentIntent(player: Player): PendingIntent? {
            return null
        }

        override fun getCurrentContentText(player: Player): String {
            return "ContentText"
        }

        override fun getCurrentLargeIcon(
            player: Player,
            callback: PlayerNotificationManager.BitmapCallback
        ): Bitmap? {
            return null
        }
    }

    playerNotificationManager = PlayerNotificationManager.createWithNotificationChannel(
        context,
        "My_channel_id",
        R.string.app_name,
        notificationId,
        mediaDescriptionAdapter,
        object : PlayerNotificationManager.NotificationListener {
            override fun onNotificationPosted(notificationId: Int, notification: Notification, ongoing: Boolean) {}

            override fun onNotificationCancelled(notificationId: Int, dismissedByUser: Boolean) {}
        })

    playerNotificationManager.setUseNavigationActions(false)
    playerNotificationManager.setUseNavigationActionsInCompactView(false)
    playerNotificationManager.setVisibility(View.VISIBLE)
    playerNotificationManager.setPlayer(mPlayer)
}
Run Code Online (Sandbox Code Playgroud)

mar*_*ger 6

您可以将rewindIncrementMs和设置fastForwardIncrementMs为 0 以隐藏按钮。

您上面发布的 JavaDoc 的链接解释了这一点: https: //exoplayer.dev/doc/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.html

playerNotificationManager.setRewindIncrementMs(0);
playerNotificationManager.setFastForwardIncrementMs(0);
Run Code Online (Sandbox Code Playgroud)

  • 新版本中的用户`playerNotificationManager.setControlDispatcher(DefaultControlDispatcher(0, 0))`,例如2.13.0 + (3认同)

Vij*_*dra 5

您可以在 ExoPlayer 2.15.0 中执行此操作 -

playerNotificationManager.setUseFastForwardAction(false)
playerNotificationManager.setUseFastForwardActionInCompactView(false)
playerNotificationManager.setUseRewindAction(false)
playerNotificationManager.setUseRewindActionInCompactView(false)
Run Code Online (Sandbox Code Playgroud)