我实现了一个使用pyglet播放歌曲的基本脚本。但是,我收到一个错误,控件没有返回到命令行,我必须按Ctrl + C。这可能会发生什么?
我的代码是:
import pyglet
song = pyglet.resource.media('g.wav', streaming = False)
song.play()
pyglet.app.run()
pyglet.app.exit()
我只是得到以下内容:
AL lib: pulseaudio.c:331: PulseAudio returned minreq > tlength/2; expect break up
OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
控件不会返回。
然而,当我添加:
win = pyglet.window.Window()
然后我得到一个可以关闭的窗口然后播放停止。
有人可以告诉我如何实现一段代码,在运行时和播放后播放文件,将命令返回到命令行吗?
答案 0 :(得分:0)
您可以使用此代码播放声音并返回命令行。
import pyglet
music = pyglet.resource.media('sound.wav')
music.play()
def exit_callback(dt):
pyglet.app.exit()
pyglet.clock.schedule_once(exit_callback , music.duration)
pyglet.app.run()
有关其工作原理的更多信息,您可以阅读其他问题: Pyglet sound playing on python