处理Mp3链接c#

时间:2014-04-05 06:33:07

标签: c# sql-server mp3

我更感谢sql表中的100,000个mp3链接。我需要从每首歌曲链接中获取专辑/艺术家信息。有什么办法,我可以在不下载歌曲的情况下得到它。我要问的是,如果我下载每首歌,我的硬盘上会占用很大的空间,这是我不想要的。此外,下载所有歌曲将花费大量时间。

我可以使用

下载歌曲
WebClient Client = new WebClient ();
Client.DownloadFile("http://myserver.com/indie/band1.mp3", "band1.mp3");

TagLib 

获取歌曲信息。

我有哪些最佳选择?

此致

Paraminder

4 个答案:

答案 0 :(得分:0)

下载文件 - >提取信息 - >删除文件。 ===>这样你就解决了太空问题。

无论如何都不提取文件的信息(在扩展名和名称旁边)而不读取它的标题。

答案 1 :(得分:0)

Taglib 可以帮助您获取歌曲标签中实际的所有信息。但为此你必须自己获得歌曲。有些人甚至可能根本没有适当的标签。

因此,您应该尝试从网络上的某个歌曲数据库中获取元数据,例如freeDB, MusizicBraint, GD3, All Media Guid or Discogs。有些是免费的,其他人可能会收取使用它们的费用,有些可能会限制访问合理数量的请求。

要考虑的另一件事是所有标题都是可预测的格式。我的收藏有大多数文件名以这种方式编码:“艺术家 - 曲目 - 标题”。对于混音,它是“Track - Artist - Title”。你从哪里下载它们?也许一个合法的来源在下载之前还有歌曲数据的API ..?

答案 2 :(得分:0)

您可以使用for循环功能来执行此操作。因此,首先阅读每个下载链接的sql表,并将其添加到应用程序的列表视图中。

然后使用for循环,您可以逐个读取链接并下载文件,获取信息并将其保存为任何文件夹中的文件。完成后,删除音乐文件,它将继续循环播放。

答案 3 :(得分:0)

无需下载文件,您可以使用SQLCLR完成所有操作。只需创建一个程序集即可从BLOB读取标记并将其作为函数添加到数据库中。

此外,我建议您将提取的标签保存在数据库的XML类型列中,以便轻松查询。