Вот упрощенная версия моего кода:
Код: Выделить всё
import tkinter as tk
from moviepy.editor import VideoFileClip
root = tk.Tk()
root.title()
root.attributes('-fullscreen', True)
# Function to play the video
def play_video():
clip = VideoFileClip(video_path) # Replace with your video path
clip.preview()
play_button = tk.Button(root, text="Play", command=play_video)
play_button.pack(padx=50, pady=50)
root.mainloop()
- Когда пользователь нажимает кнопку «Воспроизвести», видео воспроизводится в новом
окно. Это окно остается открытым после окончания видео, предотвращая
дальнейшее взаимодействие с основным графическим интерфейсом.
Я хочу гарантировать, что после воспроизведения видео пользователи смогут продолжить работу в графическом интерфейсе. Этого можно достичь одним из следующих способов:
- Воспроизведение видео (включая синхронизированный звук) непосредственно в
главном окне Tkinter. li>
Если видео должно открываться в отдельном окне, закройте это окно
автоматически после завершения видео. - Если ни одно из вышеперечисленных возможно, обеспечьте плавный переход
обратно к основному графическому интерфейсу.
- Я выбрал MoviePy для обеспечения синхронизации звука, поскольку в прошлом у меня возникали
проблемы с другими библиотеками (например, tkVideoPlayer, pygame, bvPlayer). - Моя реализация находится на Python 3.8.
Подробнее здесь: https://stackoverflow.com/questions/791 ... kinter-gui