Delphi 通用 MP3 和 WMA 标签阅读器

Posted

技术标签:

【中文标题】Delphi 通用 MP3 和 WMA 标签阅读器【英文标题】:Universal MP3 and WMA tag reader for Delphi 【发布时间】:2009-09-10 16:13:33 【问题描述】:

我知道 SO 中出现了类似的主题,但没有我正在寻找的答案。我需要一个 Delphi 库来从音乐文件中读取标签信息。目前我正在使用 JEDI 库中的 TJvID3v1,但据我所知,JEDI 不适用于 WMA 文件。

我找到了一些关于如何实现此类标签读取的手册,但其中大多数都非常低级(逐字节读取文件并进行分析)。那么,您知道任何能够读取该信息的 Delphi 库吗?欢迎支持 OGG 和其他流行格式。我们想要获取艺术家姓名、专辑名称、歌曲名称以及可能的曲目长度(这不会是下一个 iTunes,我们正在编写安全应用程序来检测用户是否在他们公司的 PC 上安装了warez)。

【问题讨论】:

【参考方案1】:

它不是专门的 Delphi 库,但如果 MP3 和 WMA 是您的主要目标,那么您可能还想查看Windows Media Format SDK

这提供了包含媒体文件中标签的抽象表示的 COM 接口 - 即您根据 媒体格式 SDK 属性 和媒体格式处理事物运行时会根据您在任何特定实例中处理的特定文件类型适当地处理这些属性。

当然它是免费的,内置在 Windows 本身中。

【讨论】:

【参考方案2】:

BASS 音频库 - http://www.un4seen.com/

【讨论】:

这个库很酷,但是对于反warez扫描目的来说,这个库是多余的。【参考方案3】:

我找到了一些解决方案 - MPEG Audio Collection (http://mac.sourceforge.net/)。这个包包含 TWMAfile 组件(最初由 Jurgen Faul 提供),可以移植到 Delphi 2009(注意 Unicode)。经过一些添加和错误修复后,这个类可以很好地与 WMA 配合使用。可以使用 JEDI 组件分析 MP3。

对于 OGG 和其他格式,我们将继续使用 MPEG Audio Collection,看看可以用这个库做什么(看起来有点旧,因为上次发布是 2003 年 10 月 5 日)。

【讨论】:

您是否在任何地方发布了您的更改? @Craig:是的,它包含在 Axence nVision 扫描代理中(希望披露软件名称不会违反 SO 规则)。

以上是关于Delphi 通用 MP3 和 WMA 标签阅读器的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 中将 WMA 和 AAC 转换为 MP3

请问MP3 OGG WMA WMV WAV 和AAC格式之间有啥区别啊

flac格式如何转成MP3或者WMA格式?

如何一次播放多个 mp3/wma 文件?

MP3 ID3 元数据没有“标签”标签?

怎样把(波形)声音格式(wav)转换成mp3、wma等其他音频格式?