Files
QingTing-Player/lib/utils/artwork_helper.dart
T
lxh2875931338 f2b4d1f46d 通知中心封面图显示
部分界面的信息更新
缓存系统初步引入
即将进入播放列表更新
2026-08-25 23:09:17 +08:00

55 lines
1.5 KiB
Dart

// lib/utils/artwork_helper.dart
import 'dart:io';
import 'dart:typed_data';
import 'package:path_provider/path_provider.dart';
import 'package:flutter/foundation.dart';
class ArtworkHelper {
static const String _artworkDir = 'artworks';
static Future<String?> saveArtwork(Uint8List data, String songKey) async {
try {
final dir = await getApplicationDocumentsDirectory();
final artworkDir = Directory('${dir.path}/$_artworkDir');
if (!await artworkDir.exists()) {
await artworkDir.create(recursive: true);
}
final path = '${artworkDir.path}/$songKey.jpg';
final file = File(path);
await file.writeAsBytes(data);
return path;
} catch (e) {
return null;
}
}
static Future<File?> getArtwork(String songKey) async {
try {
final dir = await getApplicationDocumentsDirectory();
final path = '${dir.path}/$_artworkDir/$songKey.jpg';
final file = File(path);
if (await file.exists()) {
return file;
}
return null;
} catch (e) {
return null;
}
}
static Future<void> deleteArtwork(String songKey) async {
try {
final dir = await getApplicationDocumentsDirectory();
final path = '${dir.path}/$_artworkDir/$songKey.jpg';
final file = File(path);
if (await file.exists()) {
await file.delete();
debugPrint('🗑️ [ArtworkHelper] deleted artwork: $songKey');
}
} catch (e) {
// ignore
}
}
}