1、介绍
pygame.mixer模块是一个第三方模块,广泛应用于音频播放控制业务。
2、示例
def m():
pygame.mixer.init()
# 加载待播放音频
pygame.mixer.music.load('data/abc.wav')
# 播放
pygame.mixer.music.play()
# 阻塞线程等待播放
while pygame.mixer.music.get_busy():
# 等待1/n秒,n即设置的值
pygame.time.Clock().tick(2)
print('进度条(毫秒):%s' % str(pygame.mixer.music.get_pos()))
3、使用
pygame.mixer.init()
- 程序中如果想要使用pygame.mixer模块的功能,需要进行初始化
- 全局调用一次即可
pygame.mixer.music.load(filename)
- 加载音频文件,支持相对路径设置,支持多种音频文件格式,包括.wav和.mp3等
- pygame.mixer同一时间只支持加载和播放一个音频,调用load函数,会覆盖上一个音频信息
- 如果正在播放中,调用load函数,会自动结束音频播放,再进行加载
def play(loops=0, start=0.0, fade_ms=0)
pygame.mixer.music.play()
- 播放音频文件
- loops表示音频的循环次数,为0或者1时都表示单次循环,为-1时表示一直循环
- start为0表示从音频的开始部分进行播放,不为0时表示直接从中间部分播放。
- 如果loops表示多次播放,start仅作用于首次播放,其后是完整播放音频
- start设置超出音频长度时会报错
- fade_ms,使音乐从 0 音量开始,并在给定时间逐渐变满音量。即淡入效果
get_busy() -> bool
- 判断pygame.mixer是否正在播放音频
pygame.mixer.music.get_pos()
- 返回int类型,表示播放进度,单位毫秒
pygame.time.Clock().tick(2)
- 休眠1/2秒,等价于time.sleep(0.5)
pygame.mixer.music.stop()
- 停止播放音频
pygame.mixer.music.pause()
- 暂停播放音频
pygame.mixer.music.unpause()
- 解除暂停,继续播放音频
4、获取音频长度
a = pygame.mixer.Sound("data/abc.wav")
print("length",a.get_length())
- 获取到的是一个float数值
标签:get,音频,mixer,music,pygame,播放 From: https://www.cnblogs.com/wd404/p/17810452.html