首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Exoplayer通知图片添加

Exoplayer通知图片添加
EN

Stack Overflow用户
提问于 2019-01-08 16:29:03
回答 1查看 256关注 0票数 0

我在exoplayer中使用PlayerNotificationManager。

请让我们知道以下内容……

代码语言:javascript
复制
How to set custom image in Exoplayer Notification with action handler.
How to set subtext in Exoplayer Notification.
Will be of great help. Thank you.
EN

回答 1

Stack Overflow用户

发布于 2019-12-19 01:53:05

您可以在创建MediaDescriptionAdapter时执行此操作

在下面的代码中,trackTitletrackSubtitleimageUri是要在通知中显示的数据。

使用Glide异步加载图像,并在callBack中更新通知图像。

希望它能帮上忙!来自BR的问候!

代码语言:javascript
复制
    private fun getMediaDescriptionAdapter(
        trackTitle: String,
        trackSubtitle: String
    ): PlayerNotificationManager.MediaDescriptionAdapter {
        return object : PlayerNotificationManager.MediaDescriptionAdapter {
            override fun createCurrentContentIntent(player: Player?): PendingIntent? {
                val intent = Intent(applicationContext, MainActivity::class.java)
                return PendingIntent.getActivity(
                    applicationContext,
                    0,
                    intent,
                    PendingIntent.FLAG_UPDATE_CURRENT
                )
            }

            override fun getCurrentContentText(player: Player?): String? {
                return trackSubtitle
            }

            override fun getCurrentContentTitle(player: Player?): String {
                return trackTitle
            }

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

                if (trackPlaybackState.imageUri == null) return null

                // load the media image asyncronously
                val thread = Thread {
                    try {
                        val uri = Uri.parse(trackPlaybackState.imageUri.toString())
                        val bitmap = Glide.with(applicationContext)
                            .asBitmap()
                            .load(uri)
                            .submit().get()

                        trackImage = bitmap
                        callback?.onBitmap(bitmap)
                    } catch (e: ExecutionException) {
                        e.printStackTrace()
                    } catch (e: InterruptedException) {
                        e.printStackTrace()
                    }
                }
                thread.start()

                return trackImage
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54087865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档