Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import clutter
- import gst
- from clutter import cluttergst
- import gobject
- class HelloWorld:
- def __init__ (self):
- self.stage = clutter.Stage()
- self.stage.set_color(clutter.color_parse('Black'))
- self.stage.set_size(500, 400)
- self.stage.set_title('Clutter Basic Video Player')
- self.stage.connect('button-press-event', self.mouseClick)
- self.playBnt = clutter.Rectangle()
- self.playBnt.set_color(clutter.Color(66, 99, 150, 0x99))
- self.playBnt.set_size(50, 30)
- self.playBnt.set_position(118, 34)
- self.stage.add(self.playBnt)
- playTxt = clutter.Label()
- playTxt.set_text("Play")
- playTxt.set_color(clutter.color_parse('Black'))
- playTxt.set_position(130, 40)
- self.stage.add(playTxt)
- self.StopBnt = clutter.Rectangle()
- self.StopBnt.set_color(clutter.Color(66, 99, 150, 0x99))
- self.StopBnt.set_size(50, 30)
- self.StopBnt.set_position(218, 34)
- self.stage.add(self.StopBnt)
- StopTxt = clutter.Label()
- StopTxt.set_text("Pause")
- StopTxt.set_color(clutter.color_parse('Black'))
- StopTxt.set_position(225, 40)
- self.stage.add(StopTxt)
- video_texture = cluttergst.VideoTexture()
- self.pipeline = gst.Pipeline("mypipe")
- playbin = video_texture.get_playbin()
- location = "file:///home/alex/Videos/Monty.mp4"
- playbin.set_property('uri', location)
- self.pipeline.add(playbin)
- video_texture.set_position(90,100)
- self.stage.add(video_texture)
- self.pipeline.set_state(gst.STATE_PLAYING)
- self._timeline = clutter.Timeline(duration=500)
- self._timeline.set_loop(True)
- alpha = clutter.Alpha(self._timeline, clutter.ramp_func)
- self._behave = clutter.BehaviourScale(0.0, 0.0,
- 1.0, 1.0,
- alpha=alpha)
- self._behave.apply(video_texture)
- self.stage.show_all()
- clutter.main()
- def mouseClick (self, stage, event):
- print "mouse button %d pressed at (%d, %d)" % \
- (event.button, event.x, event.y)
- if(event.button==1):
- if(event.x > 218 and event.x < 268 and event.y > 34 and event.y < 64):
- self.StopBnt.set_color(clutter.Color(33, 50, 150, 0x89))
- self.playBnt.set_color(clutter.Color(66, 99, 150, 0x99))
- self.StopBnt.set_size(49, 29)
- self.playBnt.set_size(50, 30)
- self.pipeline.set_state(gst.STATE_PAUSED)
- if(event.x > 118 and event.x < 168 and event.y > 34 and event.y < 64):
- self.playBnt.set_color(clutter.Color(33, 50, 150, 0x89))
- self.StopBnt.set_color(clutter.Color(66, 99, 150, 0x99))
- self.playBnt.set_size(49, 29)
- self.StopBnt.set_size(50, 30)
- self.pipeline.set_state(gst.STATE_PLAYING)
- main = HelloWorld()
Add Comment
Please, Sign In to add comment