首先介绍一下关于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 = npygame.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获取每一首歌曲的时长,使程序存活的时长等于歌曲时长