分类:
2008-10-15 16:25:12
如果你和大多数人一样,那么你可能会有大量的MP3文件分散于你的硬盘上。如果你和大多数人一样,你还可能有一个计划听的歌名列表,并将它们分门别类以便你能准确地知道你在听些什么。但是这还不够,你还没有将此扩展开来。
好的,利用Perl的帮助,就可以从你的列表中最终除去那些条目。CPAN为我们提供了MP3::Tag模块,该模块提供了现成的工具用来阅读和从MP3 文件中提取元数据,这使得识别某个MP3 磁盘文件的名称,艺术家,类别变成一件很简单的事情。而且,你还可以将它与Perl的文件函数相结合来为你所有的MP3内容高效地(自动地)建立一个索引。如果你喜欢,你甚至还可以利用内嵌的模块函数来编辑文件元数据。
本文将会讨论这两种函数,向你展示如何使用MP3::Tag模块来读和写MP3文件元数据。这里我们假设你已安装了Perl和MP3::Tag模块;如果你没有这个模块,可以从CPAN。
读MP3标记
让我从基础开始:读嵌入在MP3文件中的ID3标记。列表A是一个简单的例子,该例演示了利用MP3::Tag如何去做。
列表A
#!/usr/bin/perl
use MP3::Tag;
$mp3 = MP3::Tag->new('track1.mp3'); # create object
$mp3->get_tags(); # read tags
if (exists $mp3->) { # print track information
print "Filename: $filenamen";
print "Artist: " . $mp3->->artist . "n";
print "Title: " . $mp3->->title . "n";
print "Album: " . $mp3->->album . "n";
print "Year: " . $mp3->->year . "n";
print "Genre: " . $mp3->->genre . "n";
}
$mp3->close(); # destroy object
[1]