python - Mp3 播放器 - 每次播放文件时都会出现“找不到文件”messagebox.showerror
问题描述
下面的代码是一个媒体播放器 (mp3)。它工作得很好,直到我添加了应该显示歌曲长度和时间的 show_details() 函数,播放文件时出现错误消息“找不到文件”(文件确实播放!但每次都会弹出错误消息) . 一旦我删除由“a”、“total_length”和“print”语句组成的 3 行,错误就会停止出现,歌曲当然可以正常播放。我的代码有什么问题?
filelabel = Label(root, text="Let's make some noise!")
filelabel.pack(pady=10)
lengthlabel = Label(root, text="Total Length - 00:00")
lengthlabel.pack(pady=10)
def show_details():
filelabel['text'] = 'Playing - ' + os.path.basename(filename)
a = mixer.Sound(filename)
total_length = a.get_length()
print (total_length)
def play_music():
global paused
if paused:
mixer.music.unpause()
statusbar['text'] = 'Music Resumed: Playing ' + os.path.basename(filename)
paused = False
else:
try:
mixer.music.load(filename)
mixer.music.play()
statusbar['text'] = 'Playing - ' + os.path.basename(filename)
show_details()
except:
tkinter.messagebox.showerror('FIle not found', 'Melody could not find the song, please check again')
解决方案
我看到你同时创建了一个音乐和声音对象。这可能是您回答的线索: 如何在 pygame 中同时播放多个声音?
似乎添加频道可能会解决您的问题。但是先把这三行拿出来看看是不是原因:
a = mixer.Sound(filename)
total_length = a.get_length()
print (total_length)
推荐阅读
- lisp - 在 Common Lisp 的 Progn 中加载包
- c++ - 打开不存在的文件时如何使ofstream构造函数失败?
- javascript - 控制台中的递归“扩展上下文无效”错误
- python - 使用 pd.to_datetime 将“对象”列转换为 %HH:MM:SS
- python-3.x - 在底图python中绘制点
- javascript - Firebase Cloud FireStore:插入大型数组
- python - 使用 lower 函数将 pyspark 数据框中单列中的值转换为文本清理中的小写
- javascript - 连接到 MongoDB 时未处理的承诺拒绝
- java - Jacoco - 从覆盖率报告中排除包裹
- reactjs - 模态酶安装单元测试:未定义 MutationObserver