作者丨Willie_
示例
clone 这个仓库,接着执行 pod install 命令,然后运行示例项目。
要求
安装
WLM3U 可通过 CocoaPods 安装,只需将以下行添加到 Podfile 即可
使用
解析 M3U 文件
下载 M3U 文件描述的 ts 文件
将下载的 ts 文件合并成一个文件
自动获取 ts 文件总大小
WLM3U 支持自动获取所有文件的总大小,只需设置 calculateSize 参数即可:
获取大小的过程是异步的,可以通过接收 TaskGetFileSizeProgressNotification 和 TaskGetFileSizeCompletionNotification 来获取大小数据。
暂停与恢复任务
为了简化接口,WLM3U 没有 暂停 与 恢复 的概念,它们和 取消 与 添加 是一样的,所以:
需要暂停一个任务时,调用 cancel(url: URL)。
需要取消一个任务时,调用 cancel(url: URL),并通过 folder(for url: URL) 获取到此任务缓存目录,并删除它即可。
需要添加一个任务时,调用 attach(url: URL)。
需要恢复一个任务时,调用 attach(url: URL),如果本地存在之前的缓存,会自动继续下载剩余的文件。
监听状态
WLM3U 内置了几个状态的通知,你可以接收这些通知来处理数据:
播放下载的文件
AVPlayer 与 WLM3U 暂不支持播放本地 ts 文件,这里提供两个简单可行的替代方案。
使用 GCDWebServer 搭建本地服务
引入 GCDWebServer 库:
(https://github.com/swisspol/GCDWebServer)
创建本地 HTTP 服务来提供下载好的 ts 文件:
使用 AVPlayer 来播放本地服务提供的 ts 文件:
使用 FFmpeg 将 ts 文件转码成 mp4 文件
引入 mobile-ffmpeg-full 库:
(https://github.com/tanersener/mobile-ffmpeg)
执行转码命令: