提交 cef8db36 authored 作者: kongdywang's avatar kongdywang

add download video play docs content

上级 0961ac51
...@@ -513,7 +513,6 @@ TXVodDownloadController.instance.startDonwload(medialnfo); ...@@ -513,7 +513,6 @@ TXVodDownloadController.instance.startDonwload(medialnfo);
</dx-tabs> </dx-tabs>
[](id:offline3) [](id:offline3)
#### 步骤3:任务信息 #### 步骤3:任务信息
...@@ -547,20 +546,35 @@ TXVodDownloadController.instance.setDownloadObserver((event, info) { ...@@ -547,20 +546,35 @@ TXVodDownloadController.instance.setDownloadObserver((event, info) {
停止下载请调用`TXVodDownloadController.instance.stopDownload()`方法,参数为开始下载传入的`TXVodDownloadMedialnfo`对象。**SDK 支持断点续传**,当下载目录没有发生改变时,下次下载同一个文件时会从上次停止的地方重新开始。 停止下载请调用`TXVodDownloadController.instance.stopDownload()`方法,参数为开始下载传入的`TXVodDownloadMedialnfo`对象。**SDK 支持断点续传**,当下载目录没有发生改变时,下次下载同一个文件时会从上次停止的地方重新开始。
[](id:offline5)
#### 步骤5:管理下载 #### 步骤5:管理下载
获取所有用户账户的下载列表信息, 也可获取指定用户账户的下载列表信息。 获取所有用户账户的下载列表信息, 也可获取指定用户账户的下载列表信息。
```dart ```dart
// 获取所有用户的下载列表信息 // 获取所有用户的下载列表信息
// 接入方可根据下载信息中的userName区分不同用户的下载列表信息 // 可根据下载信息中的 userName 区分不同用户的下载列表信息
List<TXVodDownloadMedialnfo> downloadInfoList = await TXVodDownloadController.instance.getDownloadList(); List<TXVodDownloadMedialnfo> downloadInfoList = await TXVodDownloadController.instance.getDownloadList();
// 获取默认“default”用户已经下载完成的视频
List<TXVodDownloadMedialnfo> defaultUserDownloadList = [];
for(TXVodDownloadMedialnfo mediaInfo in downloadInfoList) {
if("default" == mediaInfo.userName && mediaInfo.downloadState == TXVodPlayEvent.EVENT_DOWNLOAD_FINISH) {
defaultUserDownloadList.add(mediaInfo);
}
}
``` ```
获取某个 Fileid 相关下载信息,包括当前下载状态,获取当前下载进度,判断是否下载完成等,需要传入 AppID、 Fileid 和 qualityId。 获取某个 Fileid 相关下载信息,包括当前下载状态,获取当前下载进度,判断是否下载完成等,需要传入 AppID、 Fileid 和 qualityId。
```dart ```dart
// 获取某个视频相关下载信息 // 获取某个视频相关下载信息
TXVodDownloadMedialnfo medialnfo = TXVodDownloadMedialnfo();
medialnfo.dataSource = TXVodDownloadDataSource();
medialnfo.dataSource!.appId = 1500005830;
medialnfo.dataSource!.fileId = "8602268011437356984";
// fileId下载必须传入quality。quality也可以通过CommonUtils.getDownloadQualityBySize(width, height)来获取
medialnfo.dataSource!.quality = DownloadQuality.QUALITY_HD;
TXVodDownloadMedialnfo downloadInfo = await TXVodDownloadController.instance.getDownloadInfo(medialnfo); TXVodDownloadMedialnfo downloadInfo = await TXVodDownloadController.instance.getDownloadInfo(medialnfo);
int? duration = downloadInfo.duration; // 获取总时长 int? duration = downloadInfo.duration; // 获取总时长
int? playableDuration = downloadInfo.playableDuration; // 获取已下载的可播放时长 int? playableDuration = downloadInfo.playableDuration; // 获取已下载的可播放时长
...@@ -569,11 +583,32 @@ String? playPath = downloadInfo.playPath; // 获取离线播放路径,传给 ...@@ -569,11 +583,32 @@ String? playPath = downloadInfo.playPath; // 获取离线播放路径,传给
int? downloadState = downloadInfo.downloadState; // 获取下载状态,具体参考STATE_xxx常量 int? downloadState = downloadInfo.downloadState; // 获取下载状态,具体参考STATE_xxx常量
``` ```
获取某个 URL 相关下载信息,需要传入 URL 信息。目前url下载不支持嵌套m3u8和mp4下载。
```dart
TXVodDownloadMedialnfo medialnfo = TXVodDownloadMedialnfo();
medialnfo.url = "http://1253131631.vod2.myqcloud.com/26f327f9vodgzp1253131631/f4bdff799031868222924043041/playlist.m3u8";
TXVodDownloadController.instance.getDownloadInfo(medialnfo);
```
```dart ```dart
// 删除下载信息 // 删除下载信息
bool result = await TXVodDownloadController.instance.deleteDownloadMediaInfo(medialnfo); bool result = await TXVodDownloadController.instance.deleteDownloadMediaInfo(medialnfo);
``` ```
[](id:offline6)
#### 步骤6: 播放离线视频
通过以上步骤获取到的mediaInfo的downloadState为EVENT_DOWNLOAD_FINISH,并且mediaInfo的playPath有值,则代表获取视频缓存完成,可以直接传给controller进行播放,代码如下:
```dart
String cacheVideoUrl = cacheMediaInfo.playPath!;
vodPlayerController.startVodPlay(cacheVideoUrl);
```
### 4、加密播放 ### 4、加密播放
视频加密方案主要用于在线教育等需要对视频版权进行保护的场景。如果要对您的视频资源进行加密保护,就不仅需要在播放器上做改造,还需要对视频源本身进行加密转码,亦需要您的后台和终端研发工程师都参与其中。在 [视频加密解决方案](https://cloud.tencent.com/document/product/266/45552) 中您会了解到全部细节内容。 视频加密方案主要用于在线教育等需要对视频版权进行保护的场景。如果要对您的视频资源进行加密保护,就不仅需要在播放器上做改造,还需要对视频源本身进行加密转码,亦需要您的后台和终端研发工程师都参与其中。在 [视频加密解决方案](https://cloud.tencent.com/document/product/266/45552) 中您会了解到全部细节内容。
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论