pygame - MP3格式音频播放

pygame是一个功能丰富的多媒体包,此文主要整理通过pygame实现MP3格式音频的播放等相关功能。

pygame - MP3格式音频播放

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# coding: utf-8

import pygame

# waitForPlay
# 自定义函数,实现pygame异步播放情况下,对音频播放服务的忙等延时,避免程序直接返回导致播放服务过早中止
def waitForPlay():
while pygame.mixer.music.get_busy():
pygame.time.delay(1000) # 每次延时1000ms
return


# -*- main func -*-

file = r"D:\CHNsound\a1.mp3" # 此处无法包含中文路径
pygame.mixer.init()
pygame.time.delay(1000) # init返回后,等待1000ms让mixer完成初始化,否则易出现前半段声音未被播放

track = pygame.mixer.music.load(file)

print("start play")
pygame.mixer.music.play()
waitForPlay() # play函数异步播放,会立即返回,通过自定义waitForPlay函数实现完整播放
pygame.mixer.music.stop()
print("play end")

  • 注意pygame.mixer初始化(init)之后,建议延时至少1秒,以便mixer完成初始化。经测试,如果不延时等待,立即执行loadplay易出现音频播放时,前段声音缺失,未被播放出来。

ref1

ref2