【发布时间】:2020-05-13 23:33:48
【问题描述】:
我制作了一个播放视频的非常简单的 PyQt5 桌面应用。它在 Pycharm 中运行良好,这让我怀疑代码没有问题,并且问题与 Windows 有关。
我使用 Pyinstaller 创建了一个 .exe 文件。不幸的是,运行 .exe 后,应用程序在打开后短暂崩溃,视频变灰而不是播放。
用于创建视频的代码部分:
# create link to movie file
movie_file = QtCore.QUrl.fromLocalFile('C:/Users/Owner/PycharmProjects/BF4 Deployment Timer/3d
video background 2.mp4')
media = QtMultimedia.QMediaContent(movie_file)
# create video widget
self.videoWidget = QtMultimediaWidgets.QVideoWidget()
self.setCentralWidget(self.videoWidget)
# media player object (video widget goes in media player)
self.mediaPlayer = QtMultimedia.QMediaPlayer(None,
QtMultimedia.QMediaPlayer.VideoSurface)
self.mediaPlayer.setVideoOutput(self.videoWidget)
# playlist
self.playlist = QtMultimedia.QMediaPlaylist()
self.playlist.setCurrentIndex(0)
self.playlist.setPlaybackMode(QtMultimedia.QMediaPlaylist.Loop)
self.playlist.addMedia(media)
# add content to media player
self.mediaPlayer.setPlaylist(self.playlist)
self.mediaPlayer.play()
命令窗口给我以下错误信息:
DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80004005 (Unspecified error)
我无法学习足够的谷歌搜索或堆栈溢出来修复它,这是一个真正的挑战,因为我是一个相当新的程序员。
非常感谢尝试的解决方案或想法!
【问题讨论】:
标签: python video pyqt5 exe pyinstaller