I am making a videoplayer with QMediaplayer but it wont work on frameless and translucent background window.I want to make a round corner windows so i need frameless and translucent window. Here is my code:
from PyQt5.QtCore import Qt, QUrl
from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer
from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtWidgets import QApplication,QMainWindow,QFrame
import sys
class Player(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle("PyQt Video Player Widget Example")
self.resize(600,400)
self.frame=QFrame(self)
self.frame.setStyleSheet('background:grey;border-radius:20px;')
self.setCentralWidget(self.frame)
#self.setWindowFlag(Qt.FramelessWindowHint)
#self.setAttribute(Qt.WA_TranslucentBackground)
self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
videoWidget = QVideoWidget(self.frame)
videoWidget.setGeometry(10,10,580,380)
self.resize(600,400)
self.mediaPlayer.error.connect(self.handleError)
self.mediaPlayer.setVideoOutput(videoWidget)
self.mediaPlayer.setMedia(
QMediaContent(QUrl.fromLocalFile("C:/Users/mishra/Desktop/HiddenfilesWindow/10000000_1874628825927192_6229658593205944320_n(1).mp4")))
self.mediaPlayer.play()
def handleError(self):
print("Error: " + self.mediaPlayer.errorString())
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
window = Player()
window.show()
sys.exit(app.exec_())
After setting translucent background it only plays audio not video.Anybody knows how to fix it?
