サウンド用のpygletAPIを使用して、サウンドファイルのサブセットを再生するにはどうすればよいですか?たとえば、6秒のサウンドクリップの1秒から3.5秒までですか?
サウンドファイルをロードして再生し、希望の間隔の開始を求めることができますが、指定されたポイントで再生を停止する方法を知りたいですか?
pyglet が停止時間の設定をサポートしているようには見えません。オプションは次のとおりです。
このアプローチは機能しているようです。現在の時刻を手動でポーリングして再生を停止するのではなく、ピグレットクロックスケジューラを使用して、指定された間隔の後に停止コールバックを1回実行します。これは私のユースケースには十分正確です;-)
player = None
def stop_callback(dt):
if player != None:
player.stop()
def play_sound_interval(mp3File, start=None, end=None):
sound = pyglet.resource.media(mp3File)
global player
player = pyglet.media.ManagedSoundPlayer()
player.queue(sound)
if start != None:
player.seek(start)
if end != None and start != None:
pyglet.clock.schedule_once(stop_callback, end-start)
elif end != None and start == None:
pyglet.clock.schedule_once(stop_callback, end)
player.play()