5-视频下载
1.下载模块集成
视频下载功能通过单独模块media-player-sdk-addon-cache-down提供,需要添加对应依赖
{
"dependencies": {
"@polyvharmony/media-player-sdk-addon-cache-down": "$version"
}
}2.视频下载
视频下载的管理类为PLVMediaDownloaderManager,可以通过该类执行视频的下载、暂停、删除等操作
2.1 初始化
在使用视频下载功能前,需要调用初始化方法PLVMediaDownloaderManager.init
/**
* 初始化,调用其他方法前必须调用初始化方法
*/
async init(setting: PLVMediaDownloadSetting): Promise<void>其中,可以通过setting参数配置下载的相关设置:
export class PLVMediaDownloadSetting {
/**
* 下载视频存放的根目录
*
* SDK 不会主动申请写入权限,外部调用需要确保 APP 具有对应目录的写入权限
*/
readonly downloadRootDirectory: string;
/**
* 同时下载的任务数量限制
*/
readonly concurrentDownloads: number;
/**
* 清晰度降级
*
* 无法下载指定的清晰度时,自动下载较低的清晰度
*/
readonly allowBitRateFallback: boolean;
}2.2 开始下载
首先,通过PLVMediaDownloaderManager.getDownloader获取对应视频的下载器
然后,调用PLVMediaDownloaderManager.startDownloader传入对应的下载器,即开始视频的下载
2.3 状态监听
下载过程中的进度、视频信息、下载速度等状态可以通过下载器的回调中心PLVMediaDownloader.listenerRegistry监听
2.4 暂停、删除
视频下载的暂停和删除也是通过下载管理类PLVMediaDownloaderManager实现:
3.播放离线视频
为了播放下载到本地的视频,需要在构造视频资源PLVMediaResource时,传入视频下载的根目录路径(即下载时配置的 PLVMediaDownloadSetting.downloadRootDirectory)
播放器会在localVideoSearchPaths下搜索对应的离线视频,在已下载对应视频到本地的情况下优先播放本地视频。
4.自定义传入token
视频下载支持加密视频版权保护的自定义传入token方式,配置如下:
Last updated
Was this helpful?