c# - 在 C# 中创建音乐库和播放列表

标签 c# wpf csv media-player playlist

我正在使用 WPF 在 C# 中开发 MP3 播放器。

我已成功添加播放、暂停、停止、下一个、上一个和将文件添加到列表功能。

但每次打开播放器时,我都必须使用添加文件按钮手动添加文件。

我想要的是,就像 iTunes 一样,在打开播放器时,所有 mp3 文件都应该从文件夹中加载并显示在“列表框”中。 (就像一个预加载的音乐库)

我不打算使用任何数据库。
这可以使用 CSV 文件来完成。我尝试使用此处指定的代码 How to create CSV Excel file C#?但无法使其正常工作。 (有很多问题,因此我没有在这里指定它)

在这方面的任何帮助表示赞赏。如果它能解决我的问题,我愿意接受新方法。

附言我还想添加从这个音乐库制作自定义播放列表的功能。也欢迎在这方面提供更多帮助。

最佳答案

我假设有两种方法可以解决这个问题,具体取决于您尝试做的事情的规模。

如果您真的只想列出文件夹中的所有文件,请使用 Directory.GetFiles(path) 方法 - 您可以过滤掉任何不是 .mp3 文件的文件,然后列出它们。

但是,我觉得您想构建单独的播放列表(如果我错了请纠正我),在这种情况下,是的,您需要将文件列表存储在某处。

我会避免使用 CSV,因为您对可以存储在那里的数据有限制。我会选择 XML。创建类似于 -

的 XML
<xml>
 <playlist name="playlist1">
  <file path="C:\file1.mp3"/>
  <file path="C:\file2.mp3"/>
  <file path="C:\file3.mp3"/>
 </playlist>
</xml>

或者在里面存放任何你想要的东西。使用 XDocument 创建 XML 文件相当简单。然后您可以从那里读取文件列表。

关于c# - 在 C# 中创建音乐库和播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17940186/

相关文章:

c# - 将 Regex.Matches 连接到一个字符串

c# - CheckedListBox 对接无法正常工作

python - to_csv 上的数据框标题

c# - WPF 列表框超出屏幕大小(MVVM 灯)

c# - 当文本更改并满足特定条件时更改文本框的前景色

c# - 在单独的进程中从插件获取 WPF 应用程序中的 TextBox 焦点

c# - 在 Visual Studio 中将控件绑定(bind)到 DataGrid 会生成对象引用错误

wpf - 使用 .ico 或 .png 作为控件的图像源?

Powershell - 将日志文件转换为 CSV

java - COPY 只能在 cqlsh 中使用,所以我不能将它用作 Java 中的 CQL 命令。有没有类似的方法可以将 CSV 导入表格?