曲の BPM 値を取得するために AppleScript を使用しようとしています。最終的にはゲームで実装したいと思っています。これが私のコードです:
import os
import time
import sys
def getBPM():
iTunesInstruct = """'
tell application "iTunes"
set k to get bpm of current track
end tell
return k
'"""
bpm = os.system('arch -i386 osascript -e ' + iTunesInstruct )
#bpm =90
bpm = int(bpm)
bpm = round(bpm)
if bpm > 250:
bpm = 200
return bpm
def getBeatSecond(bpm):
bps = float(bpm) / 60
#raw_input(bps)
return float(bps)
i = 0
beatMatch = True
while True:
beat = 1 / getBeatSecond(getBPM()) # BPS Beat divided by a second.
if beatMatch:
time.sleep(beat)
print beat
else:
raw_input('Go??')
i += 1
if i > 50:
break
しかし、これは 1 回しか機能しないようです... 聞いていた曲の BPM を取得し、それが 94 であることを確認し、2 回目の反復で 0 であると考え、0 で割って死亡したようです。どうしたの?