From ecf3751e2db72f72eae74a8e625a8b7e03db2ce7 Mon Sep 17 00:00:00 2001 From: Oliver Wong Date: Thu, 16 Apr 2026 14:06:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E9=9F=B3=E9=A2=91=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=85=83=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9E=8B=E5=B9=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BA=93=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Core/{FileMeta.cs => AudioFileMeta.cs} | 92 +++++++++++----------- src/Core/Core.csproj | 1 + src/Core/Database.cs | 9 +++ 3 files changed, 58 insertions(+), 44 deletions(-) rename src/Core/{FileMeta.cs => AudioFileMeta.cs} (87%) create mode 100644 src/Core/Database.cs 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; + } +}