在硬盘上搜索特定比特率的所有媒体文件?

在硬盘上搜索特定比特率的所有媒体文件?

是否可以在我的硬盘中搜索所有比特率是 320 的 MP3?

我正在使用 Windows 7 Professional 64 位。

答案1

我不认为你可以轻易地做到这一点,因为我认为 Windows 7 不知道其元数据中的文件比特率。

所以你必须“自己动手”。我采取以下方法:

  • 获取 Perl (活动状态做一个,还有其他的)

  • 安装MP3::Info模块(cpan install MP3::Info)。它会询问几个问题,只需接受默认值即可。

  • 运行 perl 脚本来执行此操作:

像这样:

use strict;
use warnings;

use MP3::Info;
use File::Find;

my $bitrate_target = 320;

sub print_if_bitrate {
    return unless m/\.mp3$/;    #skip any non-mp3 files.
    my $info = get_mp3info($File::Find::name);
    if ( not defined $info ) {
        print "$File::Find::name has an invalid tag\n";
        return;
    }
    my $bitrate = $info->{BITRATE};
    if ( not defined $bitrate ) {
        print "$File::Find::name - no bit rate defined\n";
        return;
    }
    if ( $bitrate >= $bitrate_target ) {
        print "($bitrate) $File::Find::name\n";
    }
}

#double slashed needed, because backslash has a special meaning.
find( \&print_if_bitrate, 'C:\\Users\\me\\MP3' );

(保存为‘find_mp3.pl’-activestate安装程序应与.pl文件关联。)

在我的 Windows 7 系统上测试。(尽管比特率较低,因为我没有任何 320 样本文件)

相关内容