gpt4 book ai didi

python - 使用PyGame音频时发生意外错误

转载 作者:行者123 更新时间:2023-12-03 01:58:40 24 4
gpt4 key购买 nike

我正在尝试编写一个在后台循环播放音频文件的脚本。在音频文件列表中随机选择要播放的音频。

我尝试这样做:http://www.nerdparadise.com/tech/python/pygame/basics/part3/

并写道:

from tkinter import *
import random
import pygame

_songs = ['audio1.ogg', 'audio2.ogg', 'audio3.ogg']
pygame.mixer.init()

_currently_playing_song = None

SONG_END = pygame.USEREVENT+1
pygame.mixer.music.set_endevent(SONG_END)


next_song = random.choice(_songs)
while next_song == _currently_playing_song:
next_song = random.choice(_songs)
_currently_playing_song = next_song
pygame.mixer.music.load(next_song)
pygame.mixer.music.play()

while True:
for event in pygame.event.get():
if event.type == SONG_END:
pygame.mixer.music.load(next_song)
pygame.mixer.music.play()
tk = Tk()
photo = PhotoImage(file="image.GIF")


image_label=Label(tk, image=photo)
image_label.grid(row=0, column=2)

tk.mainloop()

但是我得到这个错误:
for event in pygame.event.get():
pygame.error: video system not initialized

有没有办法解决这个问题,或者使用tkinter而不是pygame视频系统来使用pygame?

最佳答案

您需要调用pygame.init()。这将初始化视频系统,这是使用pygame.event所必需的。最好在使用pygame的每个程序的开始处调用。有关更多信息,请参阅pygame事件文档here

希望这会有所帮助。

编辑:

如@cmd所述,该程序将无法正确运行,因为您同时使用了具有冲突循环的Tkinter和pygame。一种可能的解决方案是切换为仅使用一个或另一个而不是两者。有关更多信息,请参见问题here

关于python - 使用PyGame音频时发生意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com