基于pygame的本地音乐播放器

本作业为一个播放本地音乐的音乐播放器,实现了基本音乐播放器的操作,如多种顺手播放,暂停等。
1.引言
近期的热门的音乐播放器如酷狗等越来越卡,无关的进程也越来越多,所以就做了个本地音乐的播放器。
2.系统结构
本播放器的结构图如图1,共有4个模块。其中Music_Player是主模块,主要实现其余3子模块的方法,整合3个子模块的函数进行参数传递。Load_Music模块主要负责后台音乐的实现,butto模块实现点击的参数传递和点击后调用Load_Music的方法,function模块实现点击的事件。

图1结构图
3. 实现代码
3.1. Load_Music模块

	首先实现Load_Music模块,这个模块包含了实现音乐相关的操作以及下两个模块也要使用相关的函数。首先了解pygame.mixer函数的一些操作:

pygame.mixe.init() 或者只初始化音频部分
pygame.mixer.music.load(‘xx.mp3’) 使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。
pygame.mixer.music.play()播放载入的音乐。该函数立即返回,音乐播放在后台进行。
play方法还可以使用两个参数
pygame.mixer.music.play(loops=0, start=0.0) loops和start分别代表重复的次数和开始播放的位置。
pygame.mixer.music.stop() 停止播放,
pygame.mixer.music.pause() 暂停播放。
pygame.mixer.music.unpause() 取消暂停。
pygame.mixer.music.fadeout(time) 用来进行淡出,在time毫秒的时间内音量由初始值渐变为0,最后停止播放。
pygame.mixer.music.set_volume(value) 来设置播放的音量,音量value的范围为0.0到1.0。
pygame.mixer.music.get_busy() 判断是否在播放音乐,返回1为正在播放。

然后就可以编写加载音乐的模块了,代码如下:
import os
import pygame

class Music_List():
def init(self):
# 播放列表
self.play_list = []
# 默认文件夹
self.file_dir = ‘music’

def get_play_list(self):
    # 开始遍历目录
    for root, dirs, files in os.walk(self.file_dir):
        for file in files:
            if '.mp3' in file:
                self.play_list.append(self.file_dir + "/" + file)
    return self.play_list

def load_music(titlt):#加载音乐
try:
pygame.mixer.music.load(titlt)
except :
pass

def play_music():
pygame.mixer.music.play()
return True

def stop_music():
pygame.mixer.music.stop()

def pause_music():
“”“暂停音乐”""
if pygame.mixer.music.get_busy():
pygame.mixer.music.pause()
return False

def unpause_music():
“”“解除暂停”""
if pygame.mixer.music.get_busy():

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值