【发布时间】:2021-07-09 10:21:56
【问题描述】:
我创建了我的 VideoPlayer 类,它可以正常播放一次。
但是当我尝试多次重复播放视频时(无休止),它不起作用。我打电话给video_player.mediaPlayer.play() play(),但他们只打印了黑色。
我认为是QMediaPlaylist的问题,但是我找不到任何问题。
class VideoPlayer(QWidget):
def __init__(self, video_path, parent=None):
super(VideoPlayer, self).__init__(parent)
self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
videoWidget = QVideoWidget()
layout = QVBoxLayout()
layout.addWidget(videoWidget)
self.setLayout(layout)
self.mediaPlayer.setVideoOutput(videoWidget)
playlist = QMediaPlaylist()
playlist.addMedia(QMediaContent(QUrl.fromLocalFile(video_path)))
playlist.setCurrentIndex(1)
playlist.setPlaybackMode(QMediaPlaylist.CurrentItemInLoop)
self.mediaPlayer.setPlaylist(playlist)
只玩一次的代码是self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile(video_path)))。效果很好。
【问题讨论】:
-
短代码片段可以使用单括号 (
`) 而不是```。
标签: python qt user-interface pyqt