【发布时间】:2015-07-25 05:12:17
【问题描述】:
我正在编写一个音频播放列表生成器。但是,我希望它不仅在严格的行中输出名称和编号,而且还输出 音频文件的持续时间。如果没有这样的黑客,我有什么办法可以做到:
print "#: $number\tDuration: ";
system("mp3info -p \"%m:%s\" \"$track\"");
print "\tNAME: $name";
如果有什么重要的话,我的 perl 版本是v5.16.3。
【问题讨论】:
-
你看过 MP3::Info 模块了吗? metacpan.org/pod/MP3::Info
-
@TrentonTrama 恐怕它只适用于 mp3,不适用于其他音频格式。更准确地说,我只需要 mp3 和 flac。
-
如果您只需要这两种格式,您可以使用 MP3::Info 和 Audio::FLAC::Decoder 或 Audio::FLAC::Header 的组合。解码器有一个
time_total函数,它返回总秒数。标头返回一个包含文件时间段的哈希。