import pyglet import os class Player2(pyglet.media.Player): def __init__(self): pass pyglet.media.Player.__init__(self) self.window = None def dispatch_events(self, dt=None): try: pyglet.media.Player.dispatch_events(self, dt) except: if not self.window is None: self.window.close() def stop(self): pyglet.media.Player.pause(self) self.window.close() path = os.path.join("Resources", "intro.avi") source = pyglet.media.load(path) format = source.video_format if not format: print 'Not a valid video file' sys.exit(1) player = Player2() window = pyglet.window.Window(width=format.width, height=format.height) player.window = window @window.event def on_draw(): texture = player.get_texture() if not texture is None: texture.blit(0, 0) @window.event def on_close(): player.stop() @player.event def on_eos(): window.close() return @window.event def on_key_press(symbol, modifiers): player.stop() window.close() return def playIntro(): player.queue(source) player.play() pyglet.app.run()