在播放音频文件时显示进度条可以使用tkinter
库来创建一个简单的GUI窗口,并使用pygame
库来播放音频文件。下面是一个示例代码:
import tkinter as tk
from tkinter import ttk
import pygame
def play_audio():
pygame.mixer.music.load("audio_file.mp3")
pygame.mixer.music.play()
def update_progress():
current_time = pygame.mixer.music.get_pos() / 1000
progress_bar['value'] = current_time
progress_bar.after(1000, update_progress)
# 初始化tkinter窗口
root = tk.Tk()
root.title("播放音频文件")
root.geometry("300x100")
# 初始化pygame.mixer
pygame.mixer.init()
# 创建播放按钮
play_button = ttk.Button(root, text="播放", command=play_audio)
play_button.pack()
# 创建进度条
progress_bar = ttk.Progressbar(root, orient="horizontal", length=200, mode="determinate")
progress_bar.pack()
# 更新进度条
update_progress()
# 运行主循环
root.mainloop()
在这个示例代码中,首先导入了需要的库(tkinter
和pygame
)。然后定义了一个play_audio
函数,用于加载并播放音频文件。接下来,定义了一个update_progress
函数,用于更新进度条的值。在update_progress
函数中,首先获取当前播放时间,并将其转换为秒。然后将当前时间设置为进度条的值,并使用after
方法每隔1秒调用一次update_progress
函数,以更新进度条的值。在主程序中,创建了一个tkinter
窗口,并初始化了pygame.mixer
。然后创建了一个“播放”按钮和一个进度条,并调用update_progress
函数来更新进度条的值。最后,运行主循环使程序保持运行状态。