所以...每当我尝试运行这段代码时:
import pygame, sys, time
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Memes.')
meme = pygame.mixer.Sound('JUST DO IT.mp3')
meme.play()
time.sleep(2)
meme.stop()
while True: # Main Loop
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
我收到此错误:
Traceback (most recent call last):
File "C:\Users\Slay-Slay\Desktop\Python\Python Code\play soun.py", line 9, in <module>
meme = pygame.mixer.Sound('JUST DO IT.mp3')
pygame.error: Unable to open file 'JUST DO IT.mp3'
在您提出要求之前,代码和声音都在同一个文件夹中。我不知道问题是什么......我认为pygame支持.mp3?
编辑:我刚用pygame.mixer.music.load()函数试了一下......但这也没用。它反而给了我这个错误:Traceback (most recent call last):
File "C:\Users\Slay-Slay\Desktop\Python\Python Code\play soun.py", line 9, in <module>
pygame.mixer.music.load('JUST DO IT.mp3')
pygame.error: Couldn't read from 'JUST DO IT.mp3'
我也尝试过不同的格式,例如WAV或OGG。都没有奏效。我在2个不同的功能上尝试了所有3种格式。全部返回相同的错误。对于music.load,“无法读取”,而对于Sound,“无法打开文件”。
答案 0 :(得分:2)
您应该使用的另一种混音方法music
- music
支持mp3,但sound
不支持。试试这个。
pygame.mixer.music.load('JUST DO IT.mp3')
pygame.mixer.music.play()
time.sleep(2)
pygame.mixer.music.stop()
^顺便说一下,这是一个非常沉闷的模因
答案 1 :(得分:0)
因此pygame只允许使用Sound播放OGG或压缩WAV文件的文件。但是,您可以使用音乐而不是声音播放mp3文件。另外,下次你可以在这里查看PyGame文档的信息。 https://www.pygame.org/docs/
import pygame, sys, time
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Memes.')
pygame.mixer.music.load("foo.mp3")
pygame.mixer.music.play()
time.sleep(2)
pygame.mixer.music.stop()
while True: # Main Loop
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
只需将foo.mp3替换为您的文件
即可答案 2 :(得分:0)
MP3文件可以在Windows 10和Linux Fedora 31(pygame 1.9.6,python 3)上正常播放,请参见下文。
尽管pygame docs指出,您的里程可能会有所不同:“ 请注意,MP3支持受到限制。在某些系统上,不支持的格式可能会使程序崩溃,例如Debian Linux。请考虑使用OGG代替”。
import time
from pygame import mixer
def play(soundfile, duration_secs):
"""Play a soundfile for a configurable duration"""
mixer.init()
mixer.music.load(soundfile)
mixer.music.play()
time.sleep(duration_secs)
mixer.music.stop()
mixer.quit()
# Play for 5 seconds
play('test.mp3', 5)