【发布时间】:2015-01-08 22:56:28
【问题描述】:
我目前有一个脚本,它可以解析来自 iTunes 的有关当前正在播放的歌曲的信息并打印出来。它仅在歌曲更改时打印。现在我想让它只在歌曲的一分钟过去后才打印出来,但不知道该怎么做。
这是我目前拥有的代码:
def giveData():
last_title, last_artist, last_album = None, None, None
while True:
template = '"%s" by %s (%d)\n from %s'
info = ''
iTunesCount = app('System Events').processes[its.name == 'iTunes'].count()
if iTunesCount > 0:
iTunes = app('iTunes')
if iTunes.player_state.get() == k.playing:
track = iTunes.current_track.get()
artist = track.artist.get()
title = track.name.get()
album = track.album.get()
stars = track.rating.get()/20
if title != last_title or artist != last_artist or album != last_album:
last_title, last_artist, last_album = title, artist, album
info = template % (title, artist, stars, album)
# Trying new solution, still printing songs that haven't been playing
# for 60s, just delaying printing them by 60s:
now = time.time()
future = now + 60
while time.time() < future:
pass
song_info = title + " - " + artist
print song_info`
【问题讨论】:
-
你使用的python库是什么?
-
我使用的是 Python 2.7.8
-
我们需要知道您是如何访问 iTunes 信息的。
-
我正在使用 appscript,我将更新我的原始帖子。抱歉,这是我的第一篇文章,感谢您的耐心等待!
-
你在哪里初始化
last_title、last_artist和last_album?你在哪里打电话giveData()?修正缩进...
标签: python itunes elapsedtime