diff --git a/src/Core/FileMeta.cs b/src/Core/AudioFileMeta.cs
similarity index 87%
rename from src/Core/FileMeta.cs
rename to src/Core/AudioFileMeta.cs
index 9be6747..83352bb 100644
--- a/src/Core/FileMeta.cs
+++ b/src/Core/AudioFileMeta.cs
@@ -3,49 +3,62 @@
///
/// 音频文件元数据实体类,对应音频资产管理系统中的文件记录
///
-public class FileMeta
+public class AudioFileMeta
{
+#region 必备条目
/// 主键ID,音频文件的唯一数字标识符
- public int Id { get; set; }
+ public required int Id { get; set; }
/// 全局唯一标识符,通常为UUID,用于跨系统识别
- public string UniqueId { get; set; }
+ public required string UniqueId { get; set; }
/// 文件的MD5值,用于查重
- public string Md5 { get; set; }
+ public required string Md5 { get; set; }
+
+ /// 原始导入路径,音频文件被导入时的完整文件路径
+ public required string Path { get; set; }
+
+ /// 文件名,包含扩展名的音频文件名称(如 sound.wav)
+ public required string Filename { get; set; }
+
+ /// 文件夹,文件所在的文件夹名称
+ public required string Folder { get; set; }
+
+ /// 目录,文件的存储目录路径
+ public required string Directory { get; set; }
+
+ /// 时长,音频文件的播放长度(通常以秒为单位)
+ public required double Duration { get; set; }
+
+ /// 时长,以采样数记录的时长
+ public required uint TotalSamples { get; set; }
+
+ /// 位深度,音频采样位深(如 16、24、32 bit)
+ public required int BitDepth { get; set; }
+
+ /// 声道数,如 1=单声道、2=立体声、6=5.1环绕声
+ public required int Channels { get; set; }
+
+ /// 采样率,如 44100、48000、96000 Hz
+ public required int SampleRate { get; set; }
+
+ /// 文件类型,音频格式(WAV、MP3、AIFF、FLAC等)
+ public required string Type { get; set; }
+
+ /// 导入日期,音频入库的时间
+ public required DateTime DateAdded { get; set; }
+
+ /// 修改日期,音频创建或录制的日期
+ public required DateTime OriginalModificationDate { get; set; }
+
+ /// 创建时间,音频文件的原始创建时间
+ public required DateTime OriginationTime { get; set; }
+
+#endregion
/// 短ID,便于人工识别或显示的简短标识
public string? ShortId { get; set; }
- /// 原始导入路径,音频文件被导入时的完整文件路径
- public string Path { get; set; }
-
- /// 文件名,包含扩展名的音频文件名称(如 sound.wav)
- public string Filename { get; set; }
-
- /// 文件夹,文件所在的文件夹名称
- public string Folder { get; set; }
-
- /// 目录,文件的存储目录路径
- public string Directory { get; set; }
-
- /// 时长,音频文件的播放长度(通常以秒为单位)
- public double Duration { get; set; }
-
- public int TotalSamples { get; set; }
-
- /// 位深度,音频采样位深(如 16、24、32 bit)
- public int BitDepth { get; set; }
-
- /// 声道数,如 1=单声道、2=立体声、6=5.1环绕声
- public int Channels { get; set; }
-
- /// 采样率,如 44100、48000、96000 Hz
- public int SampleRate { get; set; }
-
- /// 文件类型,音频格式(WAV、MP3、AIFF、FLAC等)
- public string Type { get; set; }
-
/// 节拍速度,每分钟节拍数,用于音乐类音频
public double? Bpm { get; set; }
@@ -82,7 +95,7 @@ public class FileMeta
public string? Keywords { get; set; }
/// 评分,音频质量或推荐度评分(如 0-5星)
- public decimal? Rating { get; set; }
+ public uint? Rating { get; set; }
/// 艺术家,表演者或演奏者名称
public string? Artist { get; set; }
@@ -137,15 +150,6 @@ public class FileMeta
/// 同步点,用于音视频同步的参考点
public int? SyncPoint { get; set; }
-
- /// 导入日期,音频入库的时间
- public DateTime DateAdded { get; set; }
-
- /// 修改日期,音频创建或录制的日期
- public DateTime OriginalModificationDate { get; set; }
-
- /// 创建时间,音频文件的原始创建时间
- public DateTime OriginationTime { get; set; }
public DateTime? ReleaseDate { get; set; }
@@ -155,7 +159,7 @@ public class FileMeta
public bool? IsEdited { get; set; }
/// 是否已分割,布尔值,标记是否从长文件中分割出来
- public int? IsSplit { get; set; }
+ public bool? IsSplit { get; set; }
/// 位置,录音地点或存储位置
public string? Location { get; set; }
diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj
index 62178bc..fabe4d1 100644
--- a/src/Core/Core.csproj
+++ b/src/Core/Core.csproj
@@ -9,6 +9,7 @@
+
diff --git a/src/Core/Database.cs b/src/Core/Database.cs
new file mode 100644
index 0000000..e53d385
--- /dev/null
+++ b/src/Core/Database.cs
@@ -0,0 +1,9 @@
+namespace OCES.Resonance.Core;
+
+public static class Database
+{
+ internal static bool AddEntry()
+ {
+ return false;
+ }
+}