Command line 如何使用applescript获得iTunes曲目的播放时间?

Command line 如何使用applescript获得iTunes曲目的播放时间?,command-line,applescript,itunes,osascript,Command Line,Applescript,Itunes,Osascript,我刚开始玩弄Geektool和applescripting,让我的mac桌面变得有趣,我遇到了一个似乎找不到答案的问题。如何从osascript命令获取当前歌曲播放时间?我已经找到了很多关于如何在命令行上使用iTunes和osascript做其他事情的资源,但是似乎没有人关心显示当前的播放时间。谢谢我假设会是这样的: osascript -e 'tell application "iTunes" to time of current track' 我已经试过了,它告诉我这首歌有多长。我想知道它

我刚开始玩弄Geektool和applescripting,让我的mac桌面变得有趣,我遇到了一个似乎找不到答案的问题。如何从osascript命令获取当前歌曲播放时间?我已经找到了很多关于如何在命令行上使用iTunes和osascript做其他事情的资源,但是似乎没有人关心显示当前的播放时间。谢谢我假设会是这样的:

osascript -e 'tell application "iTunes" to time of current track'

我已经试过了,它告诉我这首歌有多长。我想知道它已经播放了多长时间。

iTunes Applescript字典没有任何类的运行时间函数或属性。您必须自己动手。

iTunes套件/应用程序:

玩家位置(整数):玩家在当前 以秒为单位播放曲目

如果没有播放/暂停歌曲(如启动iTunes后,但在播放任何歌曲之前),它将返回缺少的值


在进行此操作时,您不妨询问赛道的持续时间、起点和终点:

$ osascript -e 'tell app "itunes" to {duration, start, finish} of current track & {player position}'
0.0, 254.772003173828, 254.772003173828, 55

持续时间(分数秒)可能比时间(MM:SS格式的字符串)更适合使用。

这是正确的。事实上,我昨晚很晚才弄明白,我是来这里更新的。谢谢你给我额外的东西。我只是想在perl脚本中用秒做一些计算,但是分数时间要精确得多。仅供参考。我相信您的持续时间和开始字段在输出中是交换的。谢谢你!
$ osascript -e 'tell app "itunes" to {duration, start, finish} of current track & {player position}'
0.0, 254.772003173828, 254.772003173828, 55