Python 2.7 Pygame将只播放一些.wav文件

Python 2.7 Pygame将只播放一些.wav文件,python-2.7,audio,pygame,raspberry-pi3,Python 2.7,Audio,Pygame,Raspberry Pi3,我目前正在尝试使用树莓皮3上的GPIO引脚对一些圣诞灯进行编程。灯也亮了,所以我决定也放一些圣诞音乐。当使用Pygame时,Python不允许我使用.mp3文件,它只允许我播放某些.wav文件,所以当我从下载一些圣诞歌曲时,它们都不起作用。我将附上我使用的代码。我希望你能帮忙 import pygame pygame.mixer.init() s = pygame.mixer.Sound("all_i_want_for_christmas.wav") s.play() print "Happy

我目前正在尝试使用树莓皮3上的GPIO引脚对一些圣诞灯进行编程。灯也亮了,所以我决定也放一些圣诞音乐。当使用Pygame时,Python不允许我使用.mp3文件,它只允许我播放某些.wav文件,所以当我从下载一些圣诞歌曲时,它们都不起作用。我将附上我使用的代码。我希望你能帮忙

import pygame

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

我在Linux上使用命令
file
ffprobe
检查了一首圣诞歌曲,这两首歌都显示
.wav
使用
mp3
压缩:)

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


文件
显示

A Christmas To Remember - Kenny Rogers & Dolly Parton.wav: 
 RIFF (little-endian) data, WAVE audio, MPEG Layer 3, mono 22050 Hz
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
ffprobe
显示

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

我在Linux上使用命令
file
ffprobe
检查了一首歌曲,这两首歌都显示
.wav
使用
mp3
compression:)将这些wav文件重命名为.mp3,它们应该可以正常播放。。。当它们真的是mp3时被错误地称为.wav。。。使用命令行工具确认
ffprobe aaa.wav
我也有这个问题,可能是将文件放在audacity中并重新导出为.wav,有时它的位深度错误,pygame拒绝打开它。你知道如何将mp3文件更改为wav吗?我使用命令行中的程序(bash)转换音频或视频,但还有许多其他程序。顺便说一句:Python模块在后台使用
ffmpeg
。其他模块(如)也可以转换媒体。我下载了ffmpeg,打开终端并输入了以下代码,但上面只说了bash:ffmpeg:command not foundffmpg-I kingle_bells.mp3 kingle_bells.wavtry和标准instalator-ie.
apt
,在Ubuntu上。您是否在带有
ffmpeg
的文件夹中运行了该命令?如果手动下载,则不会将其添加到
路径
,您必须使用完整路径运行
/full/PATH/to/bin/ffmpeg-i jingle_bells.mp3 jingle_bells.wav