我想做什么:
使用 google exoPlayer 播放音乐,前景和背景。
分解细节:
PlayerNotificationManager
)我做了什么:
我在这个链接上关注了谷歌 IO18
https://www.youtube.com/watch?v=svdq1BWl4r8&t=1990s
当我关注上面的 youtube 链接,尤其是音频应用程序部分时,我意识到一件事,你们专业人士如何将播放器控制 UI 添加到这个应用程序中?
例如,应用程序处于 onDestory 状态,用户退出。然后用户点击通知,回到 MainActivity,那里什么都没有,它是一个空屏幕,问题是,你如何在这里添加播放控制用户界面?
我调查了https://github.com/googlesamples/android-UniversalMusicPlayer很想弄清楚这一点。然而,通用 Android 音乐播放器示例正在使用一个巨大的通知(不是 PlayerNotificationManager 参见 IO18)和自定义播放器 UI(不是 ExoPlayer 开箱即用控制 UI),这让我很困惑。
请,请,请帮助。
如何在以下代码中添加播放器控件 ui。
https://github.com/bizkitj/MediaSessionExoPlayer/tree/ExoPlayerGoogleIO2018
如果可以,请不仅告诉我你是如何做到的,我还需要知道你为什么这样做?分成步骤。
正在使用的 ExoPlayer 版本:
implementation 'com.google.android.exoplayer:exoplayer-core:2.8.0'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.8.0'
implementation 'com.google.android.exoplayer:extension-mediasession:2.8.0'
请注意,我很想在 googleIO18 演示应用程序上构建东西。此演示应用使用 exoPlayer 的 PlayerNotificationManager
与 MediaSession
保持同步非常好, 我不想改变这个 PlayerNotificationManager
到安卓 Notification.MediaStyle
.谢谢你。
最佳答案
由于您的问题是关于管理 UI 的一些最佳实践,我尝试用一些一般性的想法来解释:
1- 您需要一个后台服务来播放音频并返回 START_NOT_STICKY
2- 只要您的PlayerNotificationManager
,它就会在前台启动。听众回拨一些 notificationId
和 notification
3-在您的事件中,您绑定(bind)到播放音乐的后台服务。这最好发生在 onStart
4- 从 onStop
上的服务解除绑定(bind)
通过这种方式,您将可以访问在后台服务中工作的 ExoPlayer 实例,您将能够根据需要将监听器、 View 等附加到它。然后您将能够检查是否有任何东西在播放以显示正确的 UI
我希望这对你有帮助。祝你好运
关于exoplayer - 如何在 google IO18 audio App demo 中添加播放器控制 ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50770478/