如何在Google IO18音频应用演示中添加播放器控件ui

时间:2018-06-09 02:48:34

标签: exoplayer exoplayer2.x

我想做什么:

使用google exoPlayer播放音乐,前景和背景。

闯入细节:

  1. 应用程序启动,google exoPlayer播放控件用户界面应该可见并立即开始播放。
  2. 玩家开始玩游戏后,我们应该会看到通知(使用exoplayer' s PlayerNotificationManager
  3. 用户通过pressig后退按钮退出应用程序或从最近的任务中轻扫,播放器服务应该继续在froeground中运行并发出通知。
  4. 用户点击通知,它应该显示应用程序。
  5. 我做了什么: 我在这个链接上关注了谷歌IO18 https://www.youtube.com/watch?v=svdq1BWl4r8&t=1990s

    虽然我正在关注上面的youtube链接,特别是音频应用程序部分,但我意识到一件事,你如何将玩家控制UI添加到这个应用程序中?

    例如,应用程序是onDestory,用户退出。然后用户点击通知,回到MainActivity,那里什么都没有,它是一个空屏幕,问题是,你如何在这里添加播放控制ui?

    我已经调查https://github.com/googlesamples/android-UniversalMusicPlayer了解这个问题。但是,通用Android音乐播放器示例使用了一个巨大的通知(不是PlayerOotificationManager在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更改为android Notification.MediaStyle

    谢谢。

1 个答案:

答案 0 :(得分:1)

由于您的问题是关于管理UI的一些最佳实践,所以我尝试用一​​些一般性的想法进行解释:

1-您需要一个后台服务来播放音频并返回START_NOT_STICKY
2-一旦您的PlayerNotificationManager监听者用一些notificationIdnotification回呼,它就会开始forground
3-在“活动”中,您绑定到播放音乐的后台服务。最好在onStart中发生
4-取消与onStop

上的服务的绑定

通过这种方式,您将可以访问在后台服务中运行的ExoPlayer实例,并且可以根据需要将侦听器,视图等附加到该实例。然后,您将可以检查是否有任何东西可以调出正确的用户界面
希望对您有帮助。祝你好运