// lib/metadata/file_provider.dart import 'dart:io'; abstract class FileProvider { /// 获取文件,如果是远程文件则先下载到本地缓存 Future getFile(String url); } class LocalFileProvider implements FileProvider { @override Future getFile(String url) async { final file = File(url); if (await file.exists()) { return file; } return null; } } class WebDAVFileProvider implements FileProvider { @override Future getFile(String url) async { // 🔴 第一阶段:先不实现下载,返回 null // 这样 WebDAV 文件会 fallback 到文件名 // 等核心播放逻辑稳定后,再实现真正的下载缓存 return null; } }