如何在Exoplayer通知中设置自定义布局和字体?

5

我正在使用PlayerNotificationManager在我的应用程序中显示播放通知。一切都正常工作,但我想在通知中添加我的应用程序的标志和自定义字体。

我通过添加drawables.xml更改了通知上的播放和暂停按钮。但是找不到更改字体的方法。

那么,我如何更改Exoplayer提供的默认通知布局和特性呢?

编辑: 我看到了Github上这个问题,它说我们需要扩展PlayerNotificationManager才能使用自定义布局。但我似乎无法使其工作。

这是我的代码:

 private void setPlayerNotificationManager(Player player) {


    playerNotificationManager = new PlayerNotificationManager(context, "123", 1234, mediaDescriptionAdapter);
    playerNotificationManager.setUseNavigationActions(false);
    playerNotificationManager.setUsePlayPauseActions(true);
    playerNotificationManager.setRewindIncrementMs(0);
    playerNotificationManager.setFastForwardIncrementMs(0);
    //playerNotificationManager.setColor(Color.GREEN);
    playerNotificationManager.setColorized(true);
    playerNotificationManager.setUseChronometer(false);
    playerNotificationManager.setSmallIcon(R.drawable.logo);
    playerNotificationManager.setPlayer(player);

}

我已经在ExoPlayer的文档和源代码中查找了一番,但是没有找到任何可以直接使用的东西,你应该直接在仓库上询问。 - Biscuit
昨天我在存储库上看到了一个问题,其中提到我们必须扩展playerNotificationManager类以使用自定义布局。但是我不能让它正常工作。对此有什么想法吗? - null_override
@Biscuit 这是 Github 上该问题的链接:https://github.com/google/ExoPlayer/issues/7576 - null_override
1个回答

4
如何实现自定义ExoPlayer通知界面
如该仓库中所述,您需要扩展 PlayerNotificationManager来实现该功能,需要创建此并将其中的所有内容复制到您的项目中。然后,按照此链接中所述添加要使用的布局。
您需要在builder这里添加您的布局。

我复制了整个类并进行了修改。但是它不起作用。默认的通知布局仍然存在。有什么想法吗? - null_override
1
你是否更改了包含函数 setPlayerNotificationManager 的文件中的导入?你需要从你的项目中导入 PlayerNotificationManager 而不是从 Exoplayer 中导入。 - Biscuit
1
我不确定你缺少什么,但是请查看以下链接 https://developer.android.com/training/notify-user/build-notification#Actions 来将按钮添加到你的布局中。基本上,你需要重新做一下 Exoplayer 在后台为你完成的工作。 - Biscuit
1
谢谢你的帮助。我已经达到了我想要的目标。有一件事我想说,我只学习exoplayer十天。Stack Overflow对我帮助很大! - null_override
1
我很高兴你成功完成了你想做的事情。 - Biscuit
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接