Audiolänge ...
Vielleicht kann ja einer von Euch auch etwas damit anfangen. Das Skript berechnet die Summe der Längen aller Audiodateien in einem Verzeichnis, dazu muss der absolute Pfad angegeben werden. Zusätzlich zu Perl muss noch das Schweizer Taschenmesser der Audiobearbeitung, SoX, installiert sein. Es gibt kaum ein Audioformat, dass SoX nicht versteht. Wenn sox, oder vielmehr das Tool soxi im Pfad ist, funktioniert das Skript auch unter allen gängigen Betriebssystemen, Windows inklusive.
Es ist für den Eigenbedarf entstanden und macht keinerlei Prüfungen oder Fehlermeldungen.
Es ist für den Eigenbedarf entstanden und macht keinerlei Prüfungen oder Fehlermeldungen.
#!/usr/bin/perl -w
use strict;
use File::Find;
my $playtimesec = 0;
my $playtimetme = "";
my @directories = @ARGV;
sub audiolength {
my $len = `soxi -D "$File::Find::name" 2>/dev/null`;
$playtimesec += $len if ((defined $len) && ($len ne ""));
}
sub seconds2time( $ ) {
my ($ss) = @_;
my ($hh,$mm);
$mm = int($ss / 60);
$ss = int($ss) - ($mm * 60);
$ss = "0${ss}" if (length($ss) == 1);
$hh = int($mm / 60);
$mm = $mm - ($hh * 60);
$mm = "0${mm}" if (length($mm) == 1);
return "$hh:$mm:$ss";
}
find(\&audiolength, @directories);
$playtimetme = seconds2time($playtimesec);
print "$playtimetme";
use strict;
use File::Find;
my $playtimesec = 0;
my $playtimetme = "";
my @directories = @ARGV;
sub audiolength {
my $len = `soxi -D "$File::Find::name" 2>/dev/null`;
$playtimesec += $len if ((defined $len) && ($len ne ""));
}
sub seconds2time( $ ) {
my ($ss) = @_;
my ($hh,$mm);
$mm = int($ss / 60);
$ss = int($ss) - ($mm * 60);
$ss = "0${ss}" if (length($ss) == 1);
$hh = int($mm / 60);
$mm = $mm - ($hh * 60);
$mm = "0${mm}" if (length($mm) == 1);
return "$hh:$mm:$ss";
}
find(\&audiolength, @directories);
$playtimetme = seconds2time($playtimesec);
print "$playtimetme";
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Patrick am :
Claus am :
Dirk Deimeke am :
Dirk Deimeke am :
Daher wollte ich schon darauf hinweisen.
Pa_trick17 am :
Ich bin ein absoluter Freund von Plattformunabhängigkeit!!! (... und auch gelegentlicher Windows-User duck vor den "richtigen Kreisen"
Cool, dass dein Skript das leistet!!!
Dirk Deimeke am :
Patrick am :
Um etwas zu dem Theard auch noch zu sagen : Sieht gut aus das Skript
Dirk Deimeke am :
Pa_trick17 am :
@Patrick: Ich glaube es gibt wohl sehr sehr viele Diebe von unserem Vornamen (z.B. Die Vornamen, die seit 1890 in Deutschland am häufigsten vergeben worden sind: http://www.beliebte-vornamen.de/760-alle_jahre.htm -> Patrick: Platz 69)
@Dirk: Die Benachrichtigung bei Aktualisierung der Kommentare per E-Mail klappt bei mir trotz angegebener Adresse und aktivieren der Checkbox unten nicht
Dirk Deimeke am :
Patrick, Du solltest eine Nachricht bekommen, die Du bestätigen musst, um Kommentarbenachrichtigungen zu bekommen. Guck mal in Deinem Spam-Ordner. Vielleicht ist sie dort gelandet.
Pa_trick17 am :