2

私は音楽プレーヤーを書いています。音楽の読み取りを制御できるようにするために、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()

ご回答ありがとうございます。

4

1 に答える 1

2

clock.set_fps_limit(number_of_frames_per_second)フレームレートの上限を設定するために使用する必要があります。

于 2013-01-29T09:55:55.607 に答える