我正在为#34; live"编写媒体播放器。使用(On Stages)因此我需要能够淡出视频(例如淡化为黑色/背景色)
我正在使用pyqt4和phonon播放和显示视频。
由于我经常编程网页,这是我的第一个qui项目,我不知道如何做到这一点:
我的想法:渲染视频透明,视频背后的背景为黑色。
我现在的测试代码(启动并生成一个全屏视频播放器的全屏窗口:
from PyQt4 import QtGui, QtCore
from PyQt4.phonon import Phonon
from time import sleep
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.media = Phonon.MediaObject(self)
self.video = Phonon.VideoWidget(self)
self.setGeometry(2000,10,200,200)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.showFullScreen()
self.setFocusPolicy(QtCore.Qt.StrongFocus)
geometry = self.geometry()
self.video.setMinimumSize(geometry.width(), geometry.height())
self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
Phonon.createPath(self.media, self.audio)
Phonon.createPath(self.media, self.video)
# Generate Layout inside of Window and Remove the Borders.
layout = QtGui.QVBoxLayout(self)
layout.setSpacing(0)
layout.setContentsMargins(0,0,0,0)
layout.addWidget(self.video, 0)
self.media.setCurrentSource(Phonon.MediaSource("video.mp4"))
self.media.play()
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('Phonon Player')
window = Window()
window.show()
sys.exit(app.exec_())