I have code like this:
import pyglet
class Video():
def __init__(self, engine):
self._engine = engine
self._player = pyglet.media.Player()
@property
def window(self):
return self._engine.window
def play(self, filename):
def on_draw():
self.window.clear()
print('video on draw')
if self._player.source and self._player.source.video_format:
self._player.get_texture().blit(0, 0)
source = pyglet.media.load(filename, streaming=True)
self._player.push_handlers(on_eos, on_player_eos)
self._player.queue(source)
self._player.play()
self.window.push_handlers(on_draw)
class Engine():
def __init__(self):
self.window = pyglet.window.Window()
self.video = Video(self)
def show_menu(self):
image = pyglet.image.load('some/file.jpg')
@self.window.event
def on_draw():
self.window.clear()
image.blit(0, 0)
e = Engine()
e.video.play('some/movie.avi')
e.show_menu()
pyglet.app.run()
I have problem with video player. How can I made it to block executing rest
of code until video ends (i.e. e.show_menu() is called after whole movie is
played). Any suggestions? Thank you.
Tutaj wprowadź kod...
--
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.