pygame应用之自动获取MP3歌曲时长以及播放

首先介绍一下关于pygame模块.
Pygame是被设计用来写游戏的python模块集合,Pygame是在优秀的SDL库之上开发的功能性包。使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,Pygame是极度轻便的并且可以运行在几乎所有的平台和操作系统上。Pygame包已经被下载过成千上万次,并且也被访问过成千上万次。
简单来说pygame这个模块就是用来处理音频以及图像的一个工具.
下面我我们用一个列子来说明pygame是如何处理音频的:

import time
import pygame
import os
from mutagen.mp3 import MP3
#获取地址并拼接
list1=os.listdir('D:\音乐')
list2=[]
for i in list1:
    s=os.path.join(r'D:\音乐',i)
    list2.append(s)
for n in list2:
    # 获取每一首歌的时长
    audio = MP3(n)
    pygame.mixer.init()
    path = n
    pygame.mixer.music.load(path)
    pygame.mixer.music.play()
    time.sleep(int(audio.info.length))

说明:
import time:引入time模块,使程序能够长时间存活
import pygame:引入我们pygame中的模块
import os:引入处理获取MP3文件地址的模块
from mutagen.mp3 import MP3:引入获取每一个MP3文件时长的模块

首先使用os模块中的os.listdir()函数获取 指定路径下所有的mp3文件 并用os.path.join()函数对路径与文件进行拼接.
然后使用pygame.init():初始化所有引入的模块。在你需要用pygame做任何事之前,你必须初始化它。
pygame.mixer.music.load()使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。
pygame.mixer.music.play()播放载入的音乐。该函数立即返回,音乐播放在后台进行
最后是 time.sleep(int(audio.info.length))使用audio.info.length获取每一首歌曲的时长,使程序存活的时长等于歌曲时长

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值