5-视频下载

1.下载模块集成

视频下载功能通过单独模块media-player-sdk-addon-download提供,需要添加对应依赖

implementation("net.polyv.android:media-player-sdk-addon-download:${version}")

2.视频下载

视频下载的管理类为PLVMediaDownloaderManager,可以通过该类执行视频的下载、暂停、删除等操作

2.1 初始化

在使用视频下载功能前,需要调用初始化方法PLVMediaDownloaderManager.init

/**
 * 初始化,调用其他方法前必须调用初始化方法
 */
@JvmStatic
@JvmOverloads
fun init(
    setting: PLVMediaDownloadSetting,
    onFinish: () -> Unit,
    onFailed: (Throwable) -> Unit
)

其中,可以通过setting参数配置下载的相关设置:

2.2 开始下载

首先,通过PLVMediaDownloaderManager.getDownloader获取对应视频的下载器

然后,调用PLVMediaDownloaderManager.startDownloader传入对应的下载器,即开始视频的下载

2.3 状态监听

下载过程中的进度、视频信息、下载速度等状态可以通过下载器的回调中心PLVMediaDownloader.listenerRegistry监听

2.4 暂停、删除

视频下载的暂停和删除也是通过下载管理类PLVMediaDownloaderManager实现:

3.播放离线视频

为了播放下载到本地的视频,需要在构造视频资源PLVMediaResource时,传入视频下载的根目录路径(即下载时配置的 PLVMediaDownloadSetting.downloadRootDirectory

播放器会在localVideoSearchPaths下搜索对应的离线视频,在已下载对应视频到本地的情况下优先播放本地视频。

4.点播SDK下载的视频兼容

播放器支持兼容播放点播SDK已下载完成的视频,但在播放之前,需要调用 PLVMediaDownloaderVodMigrate.migrate以确保播放器SDK能正常识别点播SDK下载的视频:

其中,searchRoots参数为点播SDK下载时配置的下载根目录。

通过migrate方法兼容的点播下载,只能兼容已下载完成视频的播放。播放器SDK不会接管下载进度管理,您仍需在点播SDK进行下载管理、删除等操作。

5.自定义传入token

视频下载支持加密视频版权保护的自定义传入token方式,配置如下:

Last updated

Was this helpful?