背景
- 目前车机的多媒体App都是各自维护自己的UI视图及基础逻辑,会有不少重复代码。并且大多数媒体App都会和本地多媒体有交互,所有媒体App都会接入到MediaCenter,没有统一的接口会导致接入适配成本和维护成本比较高。所以希望能够抽出公共基础功能到sdk中,供所有媒体App使用,从一致性和开发效率上得到提升。
- 应用App:QQ音乐、杜比播放器、本地多媒体、迷你播放器
快速上手
为了应对不同的使用场景,接入方式有两种:
- 打包播放器和UI一键接入
- 单独视频UI(自行实现播放器)
可根据实际使用场景选择其一即可,如无特殊原因建议选择第一种方式。
1 添加依赖
在app的Gradle中加入以下依赖:
implementation 'com.max.media:media-video:$mediaVersion'
2 初始化播放器
PlayerInitializer.init(context, isVideo = true, enableMediaCenter = true)
- Context:上下文对象,必填
- isVideo:视频还是音频,必填
- enableMediaCenter :是否接入媒体中心,默认true
3 接入视频UI组件
添加FlexPlayerView布局,用于展示视频内容及播控组件:
<com.flex.uniteplayer.ui.FlexPlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
4 配置视频组件
可通过FlexPlayerView对视频组件进行设置:
接口 | 说明 |
---|---|
fun setTitleBarVisible(visible: Boolean) | 隐藏视频标题栏,包括标题和左侧关闭 |
fun enableUpDownGesture(enable: Boolean) | 设置是否支持上下手势 |
bindControlView(listener: ControlViewListener) | 绑定视频控件UI,获取组件UI控制器,可直接管理视频组件。如果需要对视频组件做更多操作可使用此接口(后文会详细说明) |
5 播放视频
5.1 创建播放器
首先创建一个播放器FlexSimlePlayer:
class FlexSimplePlayer(context: Context?,