从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名

Posted

技术标签:

【中文标题】从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名【英文标题】:Getting the album artwork, song name, album name and artist name from an audio file 【发布时间】:2010-09-25 14:28:08 【问题描述】:

如何?我需要在不使用 iTunes 的情况下显示它。谢谢。

【问题讨论】:

@RJFalconer,任何,从 MP3 到 AAC 到 WAV 到 FLAC。 【参考方案1】:

如果文件已被 Spotlight 索引,您可以使用元数据框架对其进行检查。 Create an MDItem for the file,然后是ask it for the attributes you're interested in。

一首歌的属性是:

kMDItemTitle kMDItemAuthors(艺术家——值是一个字符串数组) kMDItemAlbum

对于专辑封面,您需要request a thumbnail image for the file from Quick Look。这不是万无一失的,但应该适用于大多数系统,只要音频文件的 Quick Look 生成器使用专辑封面(如果存在)。

【讨论】:

【参考方案2】:

QuickTime API 支持这一点,但它们不是 ObjC。不过它仍然可以正常工作。

http://developer.apple.com/library/mac/#qa/qa2001/qa1135.html

【讨论】:

想修复链接? :)【参考方案3】:

我的SFBAudioEngine 框架的一部分支持读取和写入 AIFF、WAVE、AAC、Apple Lossless、MP3、FLAC、Vorbis、Musepack 和 WavPack 的元数据。该代码是 C++ 和 BSD 许可的。

AFAIK 没有原生支持在 OS X 中读取/写入 FLAC 元数据(或 FLAC 音频)。

【讨论】:

没有 MP3?哦,我正在编写一个 Cocoa 应用程序。由于我的应用程序是 64 位的,因此我不能将 C++ 与 Carbon 一起使用。 抱歉,误删了那个——支持MP3!我进行了适当的编辑。

以上是关于从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名的主要内容,如果未能解决你的问题,请参考以下文章

VB.Net - 音频文件专辑艺术

确定歌曲在 iOS 中是不是有专辑封面

将一首歌曲的封面艺术批量复制到另一首(相同的文件名)

如何在音频文件中添加艺术品,以显示在专辑封面中?

音频流、NSTimer 和解析 JSON 场景

从封面艺术档案 (archive.org) API 中获取专辑封面会由于重定向导致 CORS 错误