gloss-mc/DvdPlayer.py

57 lines
1.6 KiB
Python

import clutter
from clutter import cluttergst
from VideoController import VideoController
class DvdPlayer:
def __init__(self, Stage):
self.stage = Stage
self.paused = False
self.isPlaying = False
self.overlay = None
def on_key_press_event (self, stage, event):
if self.isPlaying:
self.videoController.on_key_press_event(event)
if event.keyval == clutter.keysyms.p:
if self.paused:
self.unpause()
else:
self.pause()
if event.keyval == clutter.keysyms.q:
clutter.main_quit()
def begin(self, MenuMgr):
uri = "dvd://1"
self.videoController = VideoController(self.stage)
self.video = self.videoController.play_video(uri)
self.isPlaying = True
def stop(self):
if self.video.get_playing():
self.videoController.stop_video()
timeline = clutter.Timeline(15, 25)
timeline.connect('completed', self.end_video_event)
alpha = clutter.Alpha(timeline, clutter.ramp_inc_func)
behaviour = clutter.BehaviourOpacity(alpha, 255,0)
behaviour.apply(self.video)
timeline.start()
def end_video_event(self, data):
self.stage.remove(self.video)
def pause(self):
self.paused = True
self.videoController.pause_video()
def unpause(self):
self.paused = False
self.videoController.unpause_video()