TagLib是KDE开源项目的一个很有用的C++函数库,可以用于读取各种格式的歌曲ID3信息,诸如歌名、歌手、专辑等信息。
1.5版的TagLib支持MacOS,我们可以在Cocoa中直接使用TagLib来获取MP3歌曲的ID3信息。上图就是使用TagLib获取的歌曲信息,没有使用iTunes。
TagLib的功能强大,用法很简单,只需要在工程中加入TagLib.framework,同时在需要使用TagLib的.h文件中加入如下引用:
#import "TagLib/taglib.h"
#import "TagLib/tag.h"
#import "TagLib/fileref.h"
假设你的程序打开文件的回调方法叫做- (void) acceptFilenameDrag:(Nsstring *) filename 获取ID3信息的方法如下所示:
TagLib::FileRef f( [filename UTF8String]);
TagLib::Tag *mytag=f.tag();
TagLib::AudioProperties *aproperties=f.audioProperties();
mytag->title()
mytag->artist()
mytag->album()
获取歌曲码流(kbps)
aproperties->bitrate()
上面获取到的名称都是TagLib::String的形式,如果你希望转换为Nsstring,需要这样做:
nsTitle=[Nsstring stringWithCString:title.toCString(true) encoding:NSUTF8StringEncoding];
这样就可以把TagLib::String转换为Nsstring了。
以上介绍的仅仅是TagLib最简单的用法,TagLib还提供了很多强大的功能,你可以阅读TagLib的文档以找到更多有用的功能来帮助你。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。