我正在编写一个音乐播放器,为了能够控制音乐读取,我创建了一个线程,在其中放置了一个 while 循环。 我的问题是,即使我用 pyglet.clock.tick() 限制循环,我的 cpu 也处于 100%。
有办法减少吗?
class PlayerThread(threading.Thread):
stopnow = None
player = None
def __init__(self, player, file_path):
threading.Thread.__init__(self)
self.stopnow = threading.Event()
self.player = player
source = pyglet.media.load(file_path)
self.player.queue(source)
def run(self):
self.play()
while not self.stopnow.isSet():
pyglet.clock.tick()
def play(self):
if not self.player.playing:
self.player.play()
def stop(self):
self.stopnow.set()
def pause(self):
if self.player.playing:
self.player.pause()
感谢您的回答。
最佳答案
您必须使用clock.set_fps_limit(number_of_frames_per_second)
来设置帧速率的上限。
关于python - 如何使用 pyglet 循环限制 cpu 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579937/