Az élet nagy kérdése, hogyan tudok mp3 tag-et hozzáadni, vagy módosítani egy mp3 file-hoz, vagy -ban. Akkor vetődött fel, amikor feltettem az mp3 hangoskönyveket a telefonomra és mind a szerzőnél, mind az albumnál az látszódott, hogy Unknown. Így nehéz egynél több hangoskönyvet hallgatnunk.
Cygwin és Linux alatt is használható megoldást kerestem. Az MP3::Tag Perl modulra esett a választásom. (Linux-on root-ként) "cpan", majd "install MP3::Tag".
A kód:
#!/usr/bin/perl
#
# Add tags to mp3 files
#
# No rights reserved. (N) TrueY, 2011
#
######################################
use strict;
use warnings;
use MP3::Tag;
my ($artist, $album, $year) = ("Rejto Jeno",
"A szoke ciklon (Kovacs Patricia)",
1939);
my $n = 1;
for my $f (glob("*.mp3")) {
print "$f\n";
my $mp3 = MP3::Tag->new($f);
my $id3v2 = $mp3->new_tag("ID3v2");
$id3v2->artist($artist);
$id3v2->album($album);
$id3v2->track($n);
$id3v2->year($year);
$id3v2->write_tag();
++$n;
}
Persze a string-eket a nekünk megfelelő verzióra kék csere-beréljük. Továbbá fontos, hogy a könyvtárban csak egy hangoskönyv mp3-jai legyenek és az egyes hang file-ok ABC sorrendben kövessék egymást. Normálisan a hangoskönyv CD-n így vannak felmásolva a file-ok. Ha ez mégsem adott, akkor a glob eredményét még egy sort-tal rendezzük be igényeinknek megfelelően.
Linux alatt gondom akadt a hungarian umlaut-os betűkkel (őŐűŰ). Ezeket mindenképpen 2 byte-on tárolja, akkor is, ha azt mondom neki, hogy konvertálja iso 8892 2-vé. Ezért ezeket nem érdemes a tag-okban beállítani, mert a telefonon nem feltétlenül fog jól megjelenni. Minden esetre egy file-lal próbáljuk ki mielőtt ez összes file-t feltöltenénk.
Legyünk láthatóak minden nap!
+jegyzések