exoplayer - 如何在 google IO18 audio App demo 中添加播放器控制 ui

标签 exoplayer exoplayer2.x

我想做什么:
使用 google exoPlayer 播放音乐,前景和背景。
分解细节:

  • 应用程序启动,google exoPlayer 播放控制 UI 应该可见并立即开始播放。
  • 一旦播放器开始播放,我们应该会看到通知(使用 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 的 PlayerNotificationManagerMediaSession 保持同步非常好, 我不想改变这个 PlayerNotificationManager到安卓 Notification.MediaStyle .
    谢谢你。

    最佳答案

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

    1- 您需要一个后台服务来播放音频并返回 START_NOT_STICKY2- 只要您的PlayerNotificationManager,它就会在前台启动。听众回拨一些 notificationIdnotification3-在您的事件中,您绑定(bind)到播放音乐的后台服务。这最好发生在 onStart4- 从 onStop 上的服务解除绑定(bind)

    通过这种方式,您将可以访问在后台服务中工作的 ExoPlayer 实例,您将能够根据需要将监听器、 View 等附加到它。然后您将能够检查是否有任何东西在播放以显示正确的 UI
    我希望这对你有帮助。祝你好运

    关于exoplayer - 如何在 google IO18 audio App demo 中添加播放器控制 ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50770478/

    相关文章:

    android - 如何使用ExoPlayer

    android - Exoplayer cast 实现在 2019 年 7 月运行但在本月(2019 年 10 月)不运行且不更改任何代码,有人知道发生了什么吗?

    android - Exoplayer2.x:​​ Player.STATE_ENDED 在视频结束时触发两次,如何在 android 中实现 exoplayer?

    android - MVVM中的ExoPlayer

    android - Exoplayer - 如何检查 MP4 视频是否有音频?

    Android - ExoPlayer2 字幕

    android - 无法使用 Android Exoplayer react-native-video 在 Android 上播放视频 H.264

    java - Exoplayer 音频未在后台服务中播放

    android - 使用 SurfaceView 居中裁剪 Exoplayer