我不久前发布了类似的问题,但没有收到任何答案,所以我想我可能会问一个更通用的问题:
有谁知道如何使用 python 在 Tkinter 窗口中通过任何方式输出真实的视频,而不是快速变化的图像序列?
您可能需要像 TkVideo 或 Quicktime 这样的扩展来执行此操作,但不确定是否有可用的 python 风格包装器。 https://github.com/patthoyts/tkvideo
Python tkinter 现在可以在 UI 中播放视频有声音,检查此模块:tkintervideo。 这是在许多模块的帮助下完成的,因此它现在支持搜索和转发/后退选项。
from tkintervideo import player
from tkintervideo.tools import Controls
import tkinter as tk
from tkinter import ttk
import sv_ttk
import time
class App(tk.Tk):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
sv_ttk.set_theme('dark')
self.m_widget = player.Player(self,height=200,width=300)
self.rowconfigure(0,weight=1)
self.rowconfigure(1,weight=0)
self.columnconfigure(0,weight=1)
self.m_widget.grid(column=0,row=0,sticky=tk.NSEW,padx=5,pady=5)
self.m_widget.load('output.avi')
self.controls = Controls(self,self.m_widget)
self.m_widget.bind("<<Duration>>",self.controls.update_scale)
self.controls.grid(column=0,row=1,sticky=tk.NSEW,padx=10,pady=10)
myApp = App()
myApp.mainloop()
如果出现任何错误,请将其添加到项目的 github issues 中。