【发布时间】: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 上确认这一点