为了账号安全,请及时绑定邮箱和手机立即绑定

Python tkinter 的视频播放器,当我暂停视频时,我无法重新播放

Python tkinter 的视频播放器,当我暂停视频时,我无法重新播放

守候你守候我 2021-10-26 16:45:55
我正在创建 GUI 来播放视频文件。问题是当我暂停视频时,播放按钮无法重新播放该视频,我必须再次选择视频文件。注意:因为我想在同一个 tkinter 窗口中显示视频,所以我不使用 OpenCV imshow 命令。相反,我使用“window.after”方法。以下是我的代码:我尝试使用“self.pause”变量来控制暂停状态。当我单击暂停按钮时,这个布尔变量变为 True。但是,当我再次单击“播放”按钮时,我找不到合适的位置将其设为 False。from tkinter import *from tkinter import messageboxfrom tkinter import filedialogimport PIL.Image, PIL.ImageTkimport cv2class videoGUI:    def __init__(self, window, window_title):        self.window = window        self.window.title(window_title)        top_frame = Frame(self.window)        top_frame.pack(side=TOP, pady=5)        bottom_frame = Frame(self.window)        bottom_frame.pack(side=BOTTOM, pady=5)        self.pause = False   # Parameter that controls pause button        self.canvas = Canvas(top_frame)        self.canvas.pack()        # Select Button        self.btn_select=Button(bottom_frame, text="Select video file", width=15, command=self.open_file)        self.btn_select.grid(row=0, column=0)        # Play Button        self.btn_play=Button(bottom_frame, text="Play", width=15, command=self.play_video)        self.btn_play.grid(row=0, column=1)        # Pause Button        self.btn_pause=Button(bottom_frame, text="Pause", width=15, command=self.pause_video)        self.btn_pause.grid(row=0, column=2)        self.delay = 15   # ms        self.window.mainloop()    def open_file(self):        self.pause = False        self.filename = filedialog.askopenfilename(title="Select file", filetypes=(("MP4 files", "*.mp4"),                                                                                         ("WMV files", "*.wmv"), ("AVI files", "*.avi")))        print(self.filename)如果我在“play_video”函数中编写以下代码:self.pause = False暂停按钮不起作用。因为“window.after”方法会自动调用“play_video”函数并使“self.pause”为False。因此,暂停按钮将不起作用。
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

只需添加 play_video(self) 方法:


if self.pause == True:

    self.pause = False

    return


查看完整回答
反对 回复 2021-10-26
  • 3 回答
  • 0 关注
  • 309 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号