parent
d7a2d8c56a
commit
09466d83a8
@ -0,0 +1,42 @@
|
||||
from __future__ import print_function
|
||||
|
||||
from PySide import phonon
|
||||
|
||||
class VideoPlayer(object):
|
||||
def __init__(self, video, audio=False):
|
||||
self._videoFile = video
|
||||
self._audio = audio
|
||||
|
||||
self._widget = None
|
||||
self._media_obj = phonon.Phonon.MediaObject()
|
||||
self._media_src = phonon.Phonon.MediaSource(self._videoFile)
|
||||
|
||||
self._audio_out = None
|
||||
|
||||
# setup media object
|
||||
self._media_obj.setCurrentSource(self._media_src)
|
||||
# make media object loop
|
||||
self._media_obj.finished.connect(lambda: self._media_obj.play())
|
||||
|
||||
if self._audio:
|
||||
self._audio_out = phonon.Phonon.AudioOutput(phonon.Phonon.VideoCategory)
|
||||
phonon.Phonon.createPath(self._media_obj, self._audio_out)
|
||||
|
||||
def get_widget(self):
|
||||
if self._widget == None:
|
||||
self._widget = phonon.Phonon.VideoWidget()
|
||||
self._widget.setScaleMode(phonon.Phonon.VideoWidget.ScaleAndCrop)
|
||||
|
||||
phonon.Phonon.createPath(self._media_obj, self._widget)
|
||||
|
||||
return self._widget
|
||||
|
||||
def play(self):
|
||||
self._media_obj.play()
|
||||
|
||||
def pause(self):
|
||||
self._media_obj.pause()
|
||||
|
||||
def stop(self):
|
||||
self._media_obj.stop()
|
||||
|
Loading…
Reference in new issue