我正在使用 Tkinter 开发一个 GUI 应用程序,用户可以单击按钮开始播放视频。我正在使用 MoviePy 确保视频和音频同步播放,但我面临的问题是视频在单独的窗口中打开。视频结束后该窗口不会关闭,这会阻止用户与主 GUI 交互。
这是我的代码的简化版本:
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()
当前问题:
目标:
我想确保视频播放后,用户可以继续在 GUI 中工作。这可以通过以下方式之一来实现:
背景:
我感谢任何帮助或建议!
preview()
函数不包含更改此行为的参数。
但是,MoviePy 在内部使用 PyGame,因此一旦视频使用完 pygame.quit()
,就可以
关闭窗口:
import tkinter as tk
import pygame
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()
pygame.quit()
play_button = tk.Button(root, text="Play", command=play_video)
play_button.pack(padx=50, pady=50)
root.mainloop()