以下是一个简单的音乐播放器的开源代码示例:
import os
from tkinter import *
import tkinter.filedialog as filedialog
import pygame
class MusicPlayer:
def __init__(self, master):
self.master = master
master.title("音乐播放器")
self.playlist = []
self.current_song_index = 0
self.load_button = Button(master, text="加载歌曲", command=self.load_songs)
self.load_button.pack()
self.play_button = Button(master, text="播放", command=self.play)
self.play_button.pack()
self.pause_button = Button(master, text="暂停", command=self.pause)
self.pause_button.pack()
self.stop_button = Button(master, text="停止", command=self.stop)
self.stop_button.pack()
self.next_button = Button(master, text="下一首", command=self.next_song)
self.next_button.pack()
def load_songs(self):
songs = filedialog.askopenfilenames(filetypes=(("MP3 Files", "*.mp3"), ("All Files", "*.*")))
self.playlist = list(songs)
def play(self):
if not pygame.mixer.music.get_busy():
if self.current_song_index < len(self.playlist):
song = self.playlist[self.current_song_index]
pygame.mixer.music.load(song)
pygame.mixer.music.play()
print("正在播放:", os.path.basename(song))
else:
print("播放列表为空。")
def pause(self):
if pygame.mixer.music.get_busy():
pygame.mixer.music.pause()
def stop(self):
if pygame.mixer.music.get_busy():
pygame.mixer.music.stop()
print("已停止播放:", os.path.basename(self.playlist[self.current_song_index]))
def next_song(self):
if pygame.mixer.music.get_busy():
pygame.mixer.music.stop()
self.current_song_index += 1
self.play()
root = Tk()
pygame.mixer.init()
music_player = MusicPlayer(root)
root.mainloop()
这个示例使用了pygame库来实现音乐的播放功能。你可以使用load_songs
方法加载你的音乐文件,然后使用play
、pause
、stop
和next_song
方法来控制音乐的播放。播放按钮会从当前播放的歌曲继续播放,而下一首按钮会停止当前歌曲并播放下一首。