使用pygame实现音乐播放器(四)

接下来,我们要实现播放进度。实现原理就不是不断的画白色的矩形,根据播放时间和歌曲总时长的比例计算矩形当前宽度。要解决的问题:

  1. 如何获取mp3的总时长
  2. 如何不断重复画矩形?
  3. 如何画矩形

一、获取mp3的总时长

我们可以使用mutagen模块获取mp3的总时长,以及mp3本身的一些信息。Mutagen是用于处理音频元数据的python模块。它支持ASF、FLAC、MP4、Monkey¡¯s Audio、MP3、Musepack、Ogg Opus、Ogg FLAC、Ogg Speex、Ogg Theora、Ogg Vorbis、True Audio、WavPack、OptimFROG和AIFF 音频文件。 它能精确计算MP3文件的比特率和长度。

1、安装

pip install mutagen

2、使用

from mutagen.mp3 import MP3 #导入

# path是音乐文件名
length = MP3(path)length = mp3_info.info.length   # 歌曲时长(秒)
song_name = mp3_info.tags['title']   # 歌名

定义全局字典info,保存mp3本身的信息,然后在播放函数里获取mp3的信息

MP3_INFO = {}  # 全局字典

# 播放指定的歌曲
def play(index):  # index 列表的下标
    pygame.mixer.music.stop()
    # 播放音乐
    music = pygame.mixer.music.load(song_list[index])
    MP3_INFO.clear()
    mp3_info = MP3(song_list[ind
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值