android - 如何为 ExoPlayer v2.5+ 使用 MediaSession 扩展

标签 android exoplayer exoplayer2.x android-mediasession

我想将 MediaSession 与 exoplayer 一起使用,通过搜索我发现 Exoplayer 已经有 MediaSession 扩展库(https://github.com/google/ExoPlayer/tree/release-v2/extensions/mediasession),但是我找不到任何关于如何实现它的好的文档。
我已经阅读了谷歌开发者提供的文档,但对我来说不是很清楚也很难理解,文档链接是 https://medium.com/google-exoplayer/the-mediasession-extension-for-exoplayer-82b9619deb2d
谁能帮助我如何使用 Exoplayer 实现 MediaSession 扩展。
编辑:
最后,我能够通过使用上面的链接(https://medium.com/google-exoplayer/the-mediasession-extension-for-exoplayer-82b9619deb2d)努力实现这一点。
详细信息在下面的答案部分中给出。

最佳答案

要将播放器的播放状态映射到媒体 session ,您可以执行以下操作(假设在 Activity 中播放视频):

// onCreate()
mediaSession = new MediaSessionCompat(this, getPackageName());
mediaSessionConnector = new MediaSessionConnector(mediaSession)

// onStart() or onResume() according to API level
initializePlayer();
mediaSessionConnector.setPlayer(player, null, null);
mediaSession.setActive(true);

// onPause() or onStop() according to API level
mediaSessionConnector.setPlayer(null, null, null);
mediaSession.setActive(false);
releasePlayer();

有了这个媒体 Action ,如 ACTION_PLAY、ACTION_PAUSE 等已经被支持。

您可以在 another SOF post 中找到更多上下文。 .

关于android - 如何为 ExoPlayer v2.5+ 使用 MediaSession 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47130015/

相关文章:

android - 将卡片 View 高度扩展到包含的 exoplayer 的高度,仅裁剪 exoplayer 的左右两侧

由于目标版本,Android Gradle 项目同步失败

java - Dagger 2 在 Application 类中构建组件的良好实践

android - 三星银河模拟器?

java - android.view.InflateException : Binary XML file line #9: Binary XML file line #9: Error inflating class

android - 如何将 Exoplayer 的控件放置在 PlayerView 之外

android - 在应用程序崩溃android时生成日志文件

android - 如何在 ExoPlayer.STATE_ENDED 后重新启动 Exoplayer 上的视频

android - 如何使用 exoplayer 流式传输 mp3 url?

android - 检测 Android TV 上的 HDMI 服务是否已启动