擅长:python、mysql、java
<p>谢谢你的评论!我想出了一些可行的办法。我希望这也有道理。我修正了我的凹痕</p>
<pre><code>import winsound
import time
class MetronomeCalc:
def __init__(self):
self.metronomeState = True
self.currentMillis = 0
self.lastMillis = 0
self.intervalMillis = 0
self.bpm = 120
self.bps = 0
self.bpms = 0
self.measureCount = 0
def getBpm(self):
bpm = 120
return bpm
def bpmToMilliInterval(self):
self.bps = self.bpm/60
self.intervalMillis = int((1/self.bps)*1000)
def playMetronome(self):
self.bpmToMilliInterval()
while self.measureCount < 8:
if self.currentMillis - self.lastMillis >= self.intervalMillis:
self.lastMillis = int(round(time.time()*1000))
winsound.Beep(1000, 100)
self.measureCount = self.measureCount + 1
else:
self.currentMillis = int(round(time.time()*1000))
</code></pre>