它向我显示未找到模块错误,但该模块已安装在我的计算机上
Its showing me a module not found error but the module is installed on my computer
每当我 运行 我的代码代码时,我都会收到 tkvideoplayer 模块的模块未找到错误
"Traceback (most recent call last):
File "C:\Code\Proj1\Video_Player.py", line 2, in <module>
from tkvideoplayer import TkinterVideo
ModuleNotFoundError: No module named 'tkvideoplayer'"
from tkinter import *
from tkvideoplayer import TkinterVideo
from tkinter.filedialog import askopenfile
window = Tk()
window.title("My Video Player")
window.geometry("500x500")
window.config(bg="Turquoise")
heading = Label(window, text="My Video Player", bg="Orange Red", fg="white", font="4 none bold")
heading.config(anchor=CENTER)
def openFile():
file = askopenfile(mode="r", filetypes=[('Video Files', '*.mp4', '*.mov')])
if file is not None:
global filename
filename = file.name
global videoPlayer
videoPlayer = TkinterVideo(master=window, scaled=True, pre_load=False)
videoPlayer.load(r"{}".format(filename))
videoPlayer.pack(expand=True, fill="both")
videoPlayer.play()
def playFile():
videoPlayer.play()
def stopFile():
videoPlayer.stop()
def pauseFile():
videoPlayer.pause()
openbtn = Button(window, text="Open", command=lambda: openFile())
stopbtn = Button(window, text="Stop", command=lambda: stopFile())
playbtn = Button(window, text="Play", command=lambda: playFile())
pausebtn = Button(window, text="Pause", command=lambda: pauseFile())
openbtn.pack(side=TOP, pady=2)
stopbtn.pack(side=TOP, pady=4)
playbtn.pack(side=TOP, pady=3)
pausebtn.pack(side=TOP, pady=5)
heading.pack()
window.mainloop()
您需要先安装库/模块。
使用这个 link.
https://www.geeksforgeeks.org/how-to-install-tkinter-in-windows/
那么你需要安装tkvideoplayer blow的模块link会有帮助。
https://github.com/huskeee/tkvideo/blob/master/README.md
您终于可以 运行 您的代码了。
我删除了我的代码,然后制作了一个不同的视频播放器,这个没有出现错误
import datetime
import tkinter as tk
from tkinter import filedialog
from tkVideoPlayer import TkinterVideo
def update_duration(event):
""" updates the duration after finding the duration """
end_time["text"] = str(datetime.timedelta(seconds=vid_player.duration()))
progress_slider["to"] = vid_player.duration()
def update_scale(event):
""" updates the scale value """
progress_slider.set(vid_player.current_duration())
def load_video():
""" loads the video """
file_path = filedialog.askopenfilename()
if file_path:
vid_player.load(file_path)
progress_slider.config(to=0, from_=0)
progress_slider.set(0)
play_pause_btn["text"] = "Play"
def seek(value):
""" used to seek a specific timeframe """
vid_player.seek(int(value))
def skip(value: int):
""" skip seconds """
vid_player.skip_sec(value)
progress_slider.set(progress_slider.get() + value)
def play_pause():
""" pauses and plays """
if vid_player.is_paused():
vid_player.play()
play_pause_btn["text"] = "Pause"
else:
vid_player.pause()
play_pause_btn["text"] = "Play"
def video_ended(event):
""" handle video ended """
progress_slider.set(progress_slider["to"])
play_pause_btn["text"] = "Play"
root = tk.Tk()
root.title("Video Player")
load_btn = tk.Button(root, text="Load", command=load_video)
load_btn.pack()
vid_player = TkinterVideo(scaled=True, pre_load=False, master=root)
vid_player.pack(expand=True, fill="both")
play_pause_btn = tk.Button(root, text="Play", command=play_pause)
play_pause_btn.pack()
skip_plus_5sec = tk.Button(root, text="Skip -5 sec", command=lambda: skip(-5))
skip_plus_5sec.pack(side="left")
start_time = tk.Label(root, text=str(datetime.timedelta(seconds=0)))
start_time.pack(side="left")
progress_slider = tk.Scale(root, from_=0, to=0, orient="horizontal", command=seek)
progress_slider.pack(side="left", fill="x", expand=True)
end_time = tk.Label(root, text=str(datetime.timedelta(seconds=0)))
end_time.pack(side="left")
vid_player.bind("<<Duration>>", update_duration)
vid_player.bind("<<SecondChanged>>", update_scale)
vid_player.bind("<<Ended>>", video_ended )
skip_plus_5sec = tk.Button(root, text="Skip +5 sec", command=lambda: skip(5))
skip_plus_5sec.pack(side="left")
root.mainloop()
每当我 运行 我的代码代码时,我都会收到 tkvideoplayer 模块的模块未找到错误
"Traceback (most recent call last):
File "C:\Code\Proj1\Video_Player.py", line 2, in <module>
from tkvideoplayer import TkinterVideo
ModuleNotFoundError: No module named 'tkvideoplayer'"
from tkinter import *
from tkvideoplayer import TkinterVideo
from tkinter.filedialog import askopenfile
window = Tk()
window.title("My Video Player")
window.geometry("500x500")
window.config(bg="Turquoise")
heading = Label(window, text="My Video Player", bg="Orange Red", fg="white", font="4 none bold")
heading.config(anchor=CENTER)
def openFile():
file = askopenfile(mode="r", filetypes=[('Video Files', '*.mp4', '*.mov')])
if file is not None:
global filename
filename = file.name
global videoPlayer
videoPlayer = TkinterVideo(master=window, scaled=True, pre_load=False)
videoPlayer.load(r"{}".format(filename))
videoPlayer.pack(expand=True, fill="both")
videoPlayer.play()
def playFile():
videoPlayer.play()
def stopFile():
videoPlayer.stop()
def pauseFile():
videoPlayer.pause()
openbtn = Button(window, text="Open", command=lambda: openFile())
stopbtn = Button(window, text="Stop", command=lambda: stopFile())
playbtn = Button(window, text="Play", command=lambda: playFile())
pausebtn = Button(window, text="Pause", command=lambda: pauseFile())
openbtn.pack(side=TOP, pady=2)
stopbtn.pack(side=TOP, pady=4)
playbtn.pack(side=TOP, pady=3)
pausebtn.pack(side=TOP, pady=5)
heading.pack()
window.mainloop()
您需要先安装库/模块。 使用这个 link.
https://www.geeksforgeeks.org/how-to-install-tkinter-in-windows/
那么你需要安装tkvideoplayer blow的模块link会有帮助。
https://github.com/huskeee/tkvideo/blob/master/README.md
您终于可以 运行 您的代码了。
我删除了我的代码,然后制作了一个不同的视频播放器,这个没有出现错误
import datetime
import tkinter as tk
from tkinter import filedialog
from tkVideoPlayer import TkinterVideo
def update_duration(event):
""" updates the duration after finding the duration """
end_time["text"] = str(datetime.timedelta(seconds=vid_player.duration()))
progress_slider["to"] = vid_player.duration()
def update_scale(event):
""" updates the scale value """
progress_slider.set(vid_player.current_duration())
def load_video():
""" loads the video """
file_path = filedialog.askopenfilename()
if file_path:
vid_player.load(file_path)
progress_slider.config(to=0, from_=0)
progress_slider.set(0)
play_pause_btn["text"] = "Play"
def seek(value):
""" used to seek a specific timeframe """
vid_player.seek(int(value))
def skip(value: int):
""" skip seconds """
vid_player.skip_sec(value)
progress_slider.set(progress_slider.get() + value)
def play_pause():
""" pauses and plays """
if vid_player.is_paused():
vid_player.play()
play_pause_btn["text"] = "Pause"
else:
vid_player.pause()
play_pause_btn["text"] = "Play"
def video_ended(event):
""" handle video ended """
progress_slider.set(progress_slider["to"])
play_pause_btn["text"] = "Play"
root = tk.Tk()
root.title("Video Player")
load_btn = tk.Button(root, text="Load", command=load_video)
load_btn.pack()
vid_player = TkinterVideo(scaled=True, pre_load=False, master=root)
vid_player.pack(expand=True, fill="both")
play_pause_btn = tk.Button(root, text="Play", command=play_pause)
play_pause_btn.pack()
skip_plus_5sec = tk.Button(root, text="Skip -5 sec", command=lambda: skip(-5))
skip_plus_5sec.pack(side="left")
start_time = tk.Label(root, text=str(datetime.timedelta(seconds=0)))
start_time.pack(side="left")
progress_slider = tk.Scale(root, from_=0, to=0, orient="horizontal", command=seek)
progress_slider.pack(side="left", fill="x", expand=True)
end_time = tk.Label(root, text=str(datetime.timedelta(seconds=0)))
end_time.pack(side="left")
vid_player.bind("<<Duration>>", update_duration)
vid_player.bind("<<SecondChanged>>", update_scale)
vid_player.bind("<<Ended>>", video_ended )
skip_plus_5sec = tk.Button(root, text="Skip +5 sec", command=lambda: skip(5))
skip_plus_5sec.pack(side="left")
root.mainloop()