下载到一半失败或文件不完整怎么办
下载失败的排查核心是分清失败发生在哪个阶段:还没开始、传输中、音视频合并中、还是移动到最终目录时。四个阶段对应四种病因,混着查浪费时间。
先记录再动手
- 失败的是音频、纯视频还是合并后的完整文件——三条路径失败点不同;
- 记下所选格式与分辨率、最终大小、以及停在哪个时间点;
- 能播放的流下载失败 → 优先怀疑下载器或格式;反过来下载正常的流播放失败 → 别怪下载器。
按阶段对号
- 开始前就失败:查空间(内部存储与目标位置两处,临时文件占内部存储,见 下载文件存在哪以及 SD 卡的真相)、目录权限、Android 版本与文档提供器兼容性;
- 传输中断:网络稳定性、线程数过高被限流(线程说明见 下载对话框里的格式分辨率与线程数)、服务端拒绝;
- 合并失败:所选格式的音视频轨不适配合并流程,换格式重下;
- 移动到最终目录失败:目标位置空间或权限问题——尤其 SD 卡与文档提供器场景。
两条来自社区文档的警告
- 别删掉仅有的部分文件:重试前先记录它的报错——部分文件带着定位问题的关键信息,删了就没证据了;
- 别为下载去开 YouTube/SABR 实验选项:开过这个选项的视频会缓存一段时间的流信息,干扰下载诊断——要排除这个状态,关掉选项、完全停止应用、重新打开视频或等缓存过期,再测一次下载。
直播流的特殊性
HLS / 直播式流的下载限制与普通流不同,别把「不支持」标成「MP4 损坏」——先确认流的类型,再带上所选格式与确切报错去反馈。
整理好以上信息,按 上报问题前要准备哪些信息 的模板提交;批量下载任务的规划见 一次下载整个播放列表或频道。