Files
QingTing-Player/lib/metadata/file_provider.dart
T

29 lines
722 B
Dart

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