metadata读取能力已达成,接下来会顺着路径完成部分缓存指针设计

This commit is contained in:
2026-08-25 21:57:04 +08:00
parent b75ea9e4ce
commit 7bd23bfee6
8 changed files with 107 additions and 35 deletions
+3 -3
View File
@@ -1,5 +1,6 @@
// lib/metadata/metadata_reader.dart
import 'dart:io';
import 'package:flutter/foundation.dart'; // ⭐ 添加
import 'package:audio_metadata_reader/audio_metadata_reader.dart' as amr;
import 'metadata_model.dart';
@@ -12,7 +13,7 @@ class MetadataReader {
title: meta.title ?? '',
artist: meta.artist ?? '',
album: meta.album ?? '',
// ⭐ genres 和 performers 是非空 List<String>直接使用
// ⭐ genres 和 performers 是非空 List<String>不需要 ??
genres: meta.genres,
performers: meta.performers,
year: _toInt(meta.year),
@@ -23,16 +24,15 @@ class MetadataReader {
duration: meta.duration,
);
} catch (e) {
debugPrint('⚠️ [MetadataReader] read failed: $e');
return const RawMetadata();
}
}
/// 安全转换为 int,处理 Object 类型
int _toInt(dynamic value) {
if (value == null) return 0;
if (value is int) return value;
if (value is String) return int.tryParse(value) ?? 0;
// 有些字段可能是 double 或 num
if (value is num) return value.toInt();
return 0;
}