如何通过Objective-C获取iTunes曲目的当前时间?

时间:2012-07-24 18:28:59

标签: objective-c cocoa itunes

我目前正在使用某些脚本界面的东西(ScriptingBridge?)为iTunes生成一些标题。我可以用

获取当前正在播放的歌曲的名称
[[iTunes currentTrack] name];

但我似乎无法获得歌曲播放的当前时间。我目前不使用Applescript。

编辑:绝对是通过ScriptingBridge生成的。我用

生成了标题
sdef /Applications/iTunes.app | sdp -fh --basename iTunes

2 个答案:

答案 0 :(得分:3)

找到它:     [iTunes playerPosition]

答案 1 :(得分:1)

这是AppleScript;我知道你没有使用它,但我不知道如何使用Scripting Bridge。据我所知,该方法应该类似,但更接近于objective-c语法。

tell application "iTunes"
set this_time to time of current track as string
set elapsed_seconds to player position
set this_elapsed_minutes to round elapsed_seconds / 60 rounding down
set this_elapsed_seconds to elapsed_seconds mod 60
if {1, 2, 3, 4, 5, 6, 7, 8, 9, 0} contains this_elapsed_seconds then
set this_elapsed_seconds to "0" & (this_elapsed_seconds as string)
end if
end tell    

return (this_elapsed_minutes & ":" & this_elapsed_seconds & " of " & this_time) as text --