Guest User

Untitled

a guest
May 24th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. import clutter
  2. import gst
  3. from clutter import cluttergst
  4. import gobject
  5.  
  6.  
  7. class HelloWorld:
  8.  
  9. def __init__ (self):
  10. self.stage = clutter.Stage()
  11. self.stage.set_color(clutter.color_parse('Black'))
  12. self.stage.set_size(500, 400)
  13. self.stage.set_title('Clutter Basic Video Player')
  14. self.stage.connect('button-press-event', self.mouseClick)
  15.  
  16. self.playBnt = clutter.Rectangle()
  17. self.playBnt.set_color(clutter.Color(66, 99, 150, 0x99))
  18. self.playBnt.set_size(50, 30)
  19. self.playBnt.set_position(118, 34)
  20. self.stage.add(self.playBnt)
  21. playTxt = clutter.Label()
  22. playTxt.set_text("Play")
  23. playTxt.set_color(clutter.color_parse('Black'))
  24. playTxt.set_position(130, 40)
  25. self.stage.add(playTxt)
  26.  
  27. self.StopBnt = clutter.Rectangle()
  28. self.StopBnt.set_color(clutter.Color(66, 99, 150, 0x99))
  29. self.StopBnt.set_size(50, 30)
  30. self.StopBnt.set_position(218, 34)
  31. self.stage.add(self.StopBnt)
  32. StopTxt = clutter.Label()
  33. StopTxt.set_text("Pause")
  34. StopTxt.set_color(clutter.color_parse('Black'))
  35. StopTxt.set_position(225, 40)
  36. self.stage.add(StopTxt)
  37.  
  38. video_texture = cluttergst.VideoTexture()
  39. self.pipeline = gst.Pipeline("mypipe")
  40. playbin = video_texture.get_playbin()
  41. location = "file:///home/alex/Videos/Monty.mp4"
  42. playbin.set_property('uri', location)
  43. self.pipeline.add(playbin)
  44. video_texture.set_position(90,100)
  45. self.stage.add(video_texture)
  46. self.pipeline.set_state(gst.STATE_PLAYING)
  47.  
  48. self._timeline = clutter.Timeline(duration=500)
  49. self._timeline.set_loop(True)
  50.  
  51. alpha = clutter.Alpha(self._timeline, clutter.ramp_func)
  52.  
  53. self._behave = clutter.BehaviourScale(0.0, 0.0,
  54. 1.0, 1.0,
  55. alpha=alpha)
  56. self._behave.apply(video_texture)
  57.  
  58. self.stage.show_all()
  59. clutter.main()
  60.  
  61. def mouseClick (self, stage, event):
  62. print "mouse button %d pressed at (%d, %d)" % \
  63. (event.button, event.x, event.y)
  64. if(event.button==1):
  65. if(event.x > 218 and event.x < 268 and event.y > 34 and event.y < 64):
  66. self.StopBnt.set_color(clutter.Color(33, 50, 150, 0x89))
  67. self.playBnt.set_color(clutter.Color(66, 99, 150, 0x99))
  68. self.StopBnt.set_size(49, 29)
  69. self.playBnt.set_size(50, 30)
  70. self.pipeline.set_state(gst.STATE_PAUSED)
  71. if(event.x > 118 and event.x < 168 and event.y > 34 and event.y < 64):
  72. self.playBnt.set_color(clutter.Color(33, 50, 150, 0x89))
  73. self.StopBnt.set_color(clutter.Color(66, 99, 150, 0x99))
  74. self.playBnt.set_size(49, 29)
  75. self.StopBnt.set_size(50, 30)
  76. self.pipeline.set_state(gst.STATE_PLAYING)
  77. main = HelloWorld()
Add Comment
Please, Sign In to add comment