Можно ли мгновенно воспроизвести видео с помощью QMediaPlayer?
я используюQMediaPlayer
для вывода видео, содержащего звук, наQVideoWidget
. Когда я использую видео без звука , оно воспроизводится мгновенно, но если в видео есть звук , воспроизведение занимает несколько секунд после звонка.player.play()
.
Есть ли способ сделать так, чтобы видео со звуком воспроизводилось сразу после звонка?play()
?
Я пробовал следовать этому ответу , но получаюError: "failed to seek"
.
Я использую Ubuntu 23.04, Python 3.11 и PyQt5.
Вот пример:
from PyQt5.QtWidgets import QApplication, QMainWindow, QWizard, QWizardPage, QPushButton, QVBoxLayout
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
from PyQt5.QtCore import QUrl
from PyQt5.QtMultimediaWidgets import QVideoWidget
class VideoPage(QWizardPage):
def __init__(self):
super().__init__()
layout = QVBoxLayout()
self.setLayout(layout)
self.player = QMediaPlayer(self)
self.media_content = QMediaContent(QUrl.fromLocalFile('path/to/vid.mp4'))
self.player.setMedia(self.media_content)
self.video = QVideoWidget()
self.player.setVideoOutput(self.video)
play_button = QPushButton('Play Video')
play_button.clicked.connect(self.play_video)
layout.addWidget(self.video)
layout.addWidget(play_button)
def play_video(self):
self.player.play()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
wizard = QWizard()
video_page = VideoPage()
wizard.addPage(video_page)
wizard.setWindowTitle('Video Wizard')
wizard.show()
sys.exit(app.exec_())