import pygame
import os
class MusicPlayer:
def __init__(self, playlist):
self.playlist = playlist
self.current_index = 0
self.paused = False
self.playing = False
pygame.mixer.init()
def load_song(self, index):
song = self.playlist[index]
pygame.mixer.music.load(song)
def play_song(self):
pygame.mixer.music.play()
self.playing = True
def pause_song(self):
pygame.mixer.music.pause()
self.paused = True
def unpause_song(self):
pygame.mixer.music.unpause()
self.paused = False
def stop_song(self):
pygame.mixer.music.stop()
self.playing = False
def next_song(self):
self.stop_song()
self.current_index = (self.current_index + 1) % len(self.playlist)
self.load_song(self.current_index)
self.play_song()
def prev_song(self):
self.stop_song()
self.current_index = (self.current_index - 1) % len(self.playlist)
self.load_song(self.current_index)
self.play_song()
def set_volume(self, volume):
pygame.mixer.music.set_volume(volume)
def get_total_time(self):
return pygame.mixer.music.get_length()
def get_current_time(self):
return pygame.mixer.music.get_pos()/1000.0
def set_current_time(self, position):
pygame.mixer.music.set_pos(position*1000)
def play(self):
self.load_song(self.current_index)
self.play_song()
def toggle_pause(self):
if self.paused:
self.unpause_song()
else:
self.pause_song()
def play_specific_song(self, index):
self.stop_song()
self.current_index = index
self.load_song(self.current_index)
self.play_song()
这个音乐播放器具有基本的播放、暂停、停止、下一首、上一首、调整音量、获取当前和总时间等功能。可以通过调用 MusicPlayer 类中的方法来实现这些功能。
可以通过以下代码来创建播放列表,然后创建音乐播放器对象:
playlist = [os.path.join('music', filename) for filename in os.listdir('music') if filename.endswith('.mp3')]
player = MusicPlayer(playlist)在上面的代码中,playlist 是包含了所有音乐文件路径的列表。然后可以调用 MusicPlayer 类中的各种方法来控制音乐的播放。比如:
player.play() # 播放当前列表的第一首音乐
player.pause_song() # 暂停播放
player.next_song() # 播放下一首音乐
player.set_volume(0.5) # 设置音量为50%这样,就可以编写一个简单的音乐播放器,对于复杂的播放器,可以在此基础上添加更多功能和交互特性。
本文介绍如何使用Python的Pygame库创建一个具备基本功能的音乐播放器,包括播放、暂停、停止、切换曲目、调节音量及显示播放进度等。通过创建MusicPlayer类并调用其方法,可以实现对播放列表的管理。
1976

被折叠的 条评论
为什么被折叠?



