【问题标题】:pygame sound unable to open filepygame声音无法打开文件
【发布时间】:2018-02-28 20:18:17
【问题描述】:

我正在尝试制作一个简单的程序来播放一些旁白,并在触发器上有声音效果。作为 python 新手,我只是在层中构建函数。让音乐工作很容易,应该是这样,但我无法让声音工作。

我读过一些人有类似的问题,但要么他们也没有解决,要么症状略有不同,解决方案对我不起作用。

我已经在 pi3(这是最终目标)和 windows 7 上尝试过这个,它们都运行最新的 python 3 和 pygame。

import pygame
import time
import os

pygame.mixer.init()
#pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
pygame.mixer.music.load("English.mp3")
pygame.mixer.music.play()
print (os.getcwd()) 
shot = pygame.mixer.Sound("gun-gunshot-02.wav")
shot.play()

while True:
    Time.sleep(1) # for testing and irritation prevention if sound ever plays
    shot.play()

我还应该注意,如果我使用音乐播放,音效确实起作用,但它当然会取代旁白。

两台机器上的错误如下,mp3和wav都一样:

C:\Users\me\Documents\Interrupter 回溯(最近一次通话最后): 文件“C:/Users/me/Documents/Interrupter/simpletest.py”,第 11 行,在 shot = pygame.mixer.Sound("gun-gunshot-02.wav") pygame.error:无法打开文件“gun-gunshot-02.wav”

提前致谢

【问题讨论】:

  • @SherylHohman 你有没有试过看看运行脚本的用户是否有权限访问这个文件?
  • @RodrigoAlencar jjmc 是 OP,我刚刚编辑了帖子。
  • @jjmc 另外,试试这个shot = pygame.mixer.Sound(file="gun-gunshot-02.wav")
  • 在这种情况下,最常见的原因是文件不在(程序员)相信的文件夹中。
  • @RodrigoAlencar 我试过没有用,文件和文件夹也是正确的我使用 os.getcwd() 在两个 Windows raspbian 上确认这一点

标签: python pygame


【解决方案1】:

所以我已经解决了文件兼容性的问题。

我不知道什么是正确的 wav 文件(未压缩的除外)。我曾尝试使用 wav,但它不起作用。

但是我最终尝试了 .ogg,因为它是 pygame 在线手册中唯一列出的工作。一旦我使用 .ogg,一切都按计划进行。

对于遇到此问题的其他人,我使用 Audacity 使用默认值将我的 .mp3 和 .wav 文件导出为 .ogg。

【讨论】:

    【解决方案2】:

    Pygame 仅支持 2 种类型的文件。 OGG和WAV

    可以从 OGG 音频文件加载声音 或者 来自未压缩的 WAV。

    欲了解更多信息,请访问

    https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.Sound

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-25
      • 2016-04-12
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多