Repository navigation
Home
卢俊 edited this page Sep 10, 2016
·
14 revisions
PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单、快捷的接口,帮助开发者在 Android 平台上快速开发播放器应用。
| 功能/接口 | 描述 | 版本 |
|---|---|---|
| 支持带 IP 地址的播放 URL | URL 格式:“protocol://ip/path?domain=xxxx.com” | v1.3.0(+) |
| 支持 DNS 解析优化 | 支持 DNS 提前解析和缓存管理 | v1.3.0(+) |
| 支持直播累积延时优化 | 优化直播过程中的累积延时 | v1.2.3(+) |
| 支持后台播放 | 支持退到后台只播放音频 | v1.2.3(+) |
| 支持音量设置 | 设置播放器音量,可实现静音功能 | v1.2.2(+) |
| 支持画面镜像翻转 | 由 PLVideoTextureView 提供,支持播放画面镜像翻转 | v1.2.2(+) |
| 支持首屏秒开 | 在网络条件好的情况下,可以实现秒开 | v1.2.0(+) |
| PLMediaPlayer | 类似 Android MediaPlayer,提供了播放器的核心功能 | v1.2.0(+) |
| PLVideoView | 类似 Android VideoView,基于 SurfaceView 的播放控件 | v1.2.0(+) |
| PLVideoTextureView | 类似 Android VideoView,基于 TextureView 的播放控件 | v1.2.0(+) |
| 支持画面旋转 | 由 PLVideoTextureView 提供,支持播放画面以 0度、90度、180度,270度进行旋转 | v1.2.0(+) |
| 支持设置画面预览模式 | 由 PLVideoView 和 PLVideoTextureView 提供,支持多种画面预览模式,包括:原始尺寸、适应屏幕、全屏铺满、16:9、4:3 等 | v1.2.0(+) |
| 支持 ARM, X86 芯片体系架构 | 无 | v1.1.3(+) |
| 支持 ARM64v8a 芯片体系架构 | 无 | v1.1.1(+) |
| AVOptions | 用于配置播放器参数,包括:超时时间、软硬件编解码 | v1.1.1(+) |
| AudioPlayer | 用于纯音频播放,支持后台运行(注:从 v1.2.0 开始被标记为 Deprecated,并使用 PLMediaPlayer 代替) | v1.1.0(+) |
| 支持 ARMv7a 芯片体系架构 | 无 | v1.0.0(+) |
| VideoView | 基于 SurfaceView 的播放控件(注:从 v1.2.0 开始被标记为 Deprecated,并使用 PLVideoView 代替) | v1.0.0(+) |
- Android Min API 9
- 支持 RTMP 和 HLS 协议的直播流媒体播放
- 支持常见的音视频文件播放(MP4、M4A、flv 等)
- 支持 MediaCodec 硬件解码
- 提供播放器核心类
PLMediaPlayer - 提供
PLVideoView控件 - 提供
PLVideoTextureView控件 - 支持多种画面预览模式
- 支持画面旋转(0度,90度,180度,270度)
- 支持画面镜像变换
- 支持播放器音量设置,可实现静音功能
- 支持纯音频播放
- 支持后台播放
- 支持首屏秒开
- 支持直播累积延时优化
- 支持带 IP 地址的播放 URL
- 可高度定制化的
MediaController - 支持 ARM, ARMv7a, ARM64v8a, X86 主流芯片体系架构
本文档为技术文档,需要阅读者:
- 具有基本的 Android 开发能力
- 准备接入七牛云直播
- 系统要求:Android 2.3 (API 9) 及其以上
为了保证正常使用 SDK ,请在 proguard-rules.pro 文件中添加以下代码:
-keep class com.pili.pldroid.player.** { *; }
-keep class tv.danmaku.ijk.media.player.** {*;}从 v1.3.1 开始,有如下重大更新:
- 需要在项目的 build.gradle 中加入如下语句:
dependencies {
compile 'com.qiniu.pili:pili-android-qos:0.8.+'
}
- 更新了
PLMediaPlayer的构造函数 如果直接使用PLMediaPlayer进行播放的话,需要多添加一个Context参数
public PLMediaPlayer(Context context);
public PLMediaPlayer(Context context, AVOptions options);
从 v1.3.0 开始,有如下重大更新:
-
新增 PLNetworkManager 类,提供 DNS 缓存管理服务
如果需要使用 SDK 提供的 DNS 缓存管理服务,则需要在项目中加入如下配置:
// 添加 happydns 的依赖
dependencies {
compile 'com.qiniu:happy-dns:0.2.+'
}
// 添加网络状态监测的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>