我尝试过搜索CPAN。我找到了Mac::iTunes
,但没有办法为特定曲目分配评分。
答案 0 :(得分:5)
如果你对Mac :: AppleScript不感兴趣,它只需要大量AppleScript文本并运行它,你可能更喜欢Mac::AppleScript::Glue,它提供了一个更面向对象的界面。这相当于Iamamac的示例代码:
#!/usr/bin/env perl
use Modern::Perl;
use Mac::AppleScript::Glue;
use Data::Dumper;
my $itunes = Mac::AppleScript::Glue::Application->new('iTunes');
# might crash if iTunes isn't playing anything yet
my $track = $itunes->current_track;
# for expository purposes, let's see what we're dealing with
say Dumper \$itunes, \$track;
say $track->rating; # initially undef
$track->set(rating => 100);
say $track->rating; # should print 100
该模块所做的就是构建一大堆AppleScript,运行它,然后将它们分成另一个AppleScript表达式,它可以在下一个命令中使用。运行上述脚本时,可以在跟踪对象的_ref
值中看到。因为它正在粘贴和解析AppleScript,所以这个模块不会比任何其他基于AppleScript的方法快,但它确实允许你在你的脚本中散布其他Perl命令,它让你的代码看起来更像Perl,这是值得的。
答案 1 :(得分:4)
您可以编写AppleScript来完全控制iTunes,并且有一个Perl绑定Mac::AppleScript
。
编辑代码示例:
use Mac::AppleScript qw(RunAppleScript);
RunAppleScript(qq(tell application "iTunes" \n set rating of current track to $r \n end tell));
答案 2 :(得分:-2)
看看itunes-perl,它似乎能够对曲目进行评分。