使用 pygame 和 os 写出完整的音乐播放器 python 程序
时间: 2023-10-15 11:02:09 浏览: 98
python代码实现音乐播放器
好的,以下是一个完整的音乐播放器 Python 程序,使用了 pygame 和 os 两个模块,可以播放指定文件夹中的音频文件(支持 .mp3、.wav 和 .ogg 格式),支持暂停/继续播放和切换上一首/下一首歌曲:
```python
import pygame
import os
# 初始化 Pygame
pygame.init()
# 设置窗口标题
pygame.display.set_caption("音乐播放器")
# 获取当前目录
current_directory = os.getcwd()
# 指定音频文件夹路径
audio_directory = os.path.join(current_directory, "音频文件夹")
# 获取音频文件列表
audio_files = os.listdir(audio_directory)
# 初始化 Pygame 音乐播放器
pygame.mixer.init()
# 创建播放列表
playlist = []
# 遍历音频文件列表,将符合条件的文件加入播放列表
for file in audio_files:
if file.endswith(".mp3") or file.endswith(".wav") or file.endswith(".ogg"):
playlist.append(os.path.join(audio_directory, file))
# 设置当前播放曲目的索引
current_track = 0
# 加载并播放第一首歌曲
pygame.mixer.music.load(playlist[current_track])
pygame.mixer.music.play()
# 进入主循环
while True:
# 获取所有事件
events = pygame.event.get()
# 遍历事件列表
for event in events:
# 如果是退出事件,则退出程序
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 如果是空格键按下事件,则暂停/继续播放
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
if pygame.mixer.music.get_busy():
pygame.mixer.music.pause()
else:
pygame.mixer.music.unpause()
# 如果是右箭头键按下事件,则切换到下一首歌曲
elif event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
pygame.mixer.music.stop()
current_track += 1
if current_track >= len(playlist):
current_track = 0
pygame.mixer.music.load(playlist[current_track])
pygame.mixer.music.play()
# 如果是左箭头键按下事件,则切换到上一首歌曲
elif event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT:
pygame.mixer.music.stop()
current_track -= 1
if current_track < 0:
current_track = len(playlist) - 1
pygame.mixer.music.load(playlist[current_track])
pygame.mixer.music.play()
```
注意:在运行此程序之前,您需要将代码中的 "音频文件夹" 更改为实际包含音频文件的文件夹名称,并确保该文件夹中包含至少一首支持的音频文件。
阅读全文