如何在 C# 中以编程方式更新 Windows Media Player 专辑封面

How to update Windows Media Player Album Art programatically in C#

我正在编写一个应用程序来帮助将 Vinyl 专辑录制成数字格式,以便在 Windows Media Player 和 Media Center 中使用。

我已经完成了录音和音轨分割部分,包括用taglib保存音轨信息。

我现在需要以媒体播放器可以拾取的方式添加专辑封面。

我注意到 Media Player 将专辑封面保存在专辑文件夹中的 2 个 hidden/system 文件中,文件名中包含一个 GUID。

有什么方法可以计算出要使用的正确文件名,并将我的专辑封面保存到文件中吗?或者是否有媒体播放器库的接口,所以我可以告诉它专辑封面是什么?

Windows 媒体播放器(以及所有其他显示专辑封面的播放器)使用标签来检索图片。图片嵌入在标签中的音乐文件中。隐藏的图像只是在播放器中显示缩略图的缓存。此外,标题、专辑、年份等其他信息也使用相同的过程完成。

标签的格式因格式而异。

对于MP3个文件,它被称为ID3

一个合适的库是 TagLibSharp. You can get it here。除了 MP3.

之外,它还支持多种格式

可以找到修改专辑封面的示例here

还可以找到其他示例 here

可以找到最基本的例子here