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.

Reply via email to