Pygame 将只播放一些 .wav 文件

Pygame will only play some .wav files

我目前正在尝试使用 raspberry pi 3 上的 GPIO 引脚对一些圣诞灯进行编程,并且灯工作了,所以我决定也给它放一些圣诞音乐。使用 Pygame 时,Python 不允许我使用 .mp3 文件,它只允许我播放某些 .wav 文件,所以当我从 http://www.thewavsite.com/christmas.htm 下载一些圣诞歌曲时,none 他们工作了。我将附上我使用的代码。希望对您有所帮助。

import pygame

pygame.mixer.init()
s = pygame.mixer.Sound("all_i_want_for_christmas.wav")
s.play()
print "Happy christmas!!"

我检查了一首使用 Linux 命令 fileffprobe 的圣诞歌曲,两者都表明 .wav 使用 mp3 压缩:)

在与 PyGame 一起使用之前,您必须将其转换为真实的 wav


file 显示

A Christmas To Remember - Kenny Rogers & Dolly Parton.wav: 
 RIFF (little-endian) data, WAVE audio, MPEG Layer 3, mono 22050 Hz

ffprobe 显示

Input #0, wav, from 'A Christmas To Remember - Kenny Rogers & Dolly Parton.wav':
  Duration: 00:03:39.75, bitrate: 32 kb/s
    Stream #0:0: Audio: mp3 (U[0][0][0] / 0x0055), 22050 Hz, mono, s16p, 32 kb/s