【问题标题】:Pygame will only play some .wav filesPygame 只会播放一些 .wav 文件
【发布时间】:2017-12-04 19:47:04
【问题描述】:

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

import pygame

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

【问题讨论】:

  • 我在 Linux 命令 fileffprobe 上检查了一首歌曲,两者都显示这 .wav 使用 mp3 压缩:)
  • 将这些 wav 文件重命名为 .mp3,它们应该可以正常播放...当它们是真正的 mp3 时错误地称为 .wav ...使用命令行工具确认 ...ffprobe aaa.wav
  • 我也有这个问题,也许将文件放在大胆并重新导出为.wav,有时它的位深度错误并且pygame拒绝打开它。

标签: python-2.7 audio pygame raspberry-pi3


【解决方案1】:

我在 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

【讨论】:

  • 你知道怎么把mp3文件转成wav吗?
  • 我在命令行 (bash) 中使用程序 ffmpeg 来转换音频或视频,但还有许多其他程序。顺便说一句:Python 模块 MoviePy 在后台使用 ffmpeg。其他模块(如PyMedia)也可以转换媒体。
  • 我下载了ffmpeg,我打开终端输入了下面的代码,但是它说的是bash: ffmpeg: command not found
  • ffmpg -i jingle_bells.mp3 jingle_bells.wav
  • 尝试使用标准安装程序 - 即。 apt 在 Ubuntu 上。您是否在带有 ffmpeg 的文件夹中运行命令?如果您手动下载,则不会将其添加到 PATH 并且您必须使用完整路径运行 /full/path/to/bin/ffmpeg -i jingle_bells.mp3 jingle_bells.wav
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 2010-11-19
相关资源
最近更新 更多