完成代码播放所有声音后,需要立即接受用户输入。但是因为当声音文件加载到内存中时命令提示符会松散焦点,因此无法从键盘输入。
尝试使用pyglet.app.run()和pyglet.app.exit()
这两项功能似乎不起作用,也不能真正理解它们应该如何运作。
import pyglet
import time
import random
import queue
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
music1 = pyglet.media.StaticSource(pyglet.media.load('1.ogg'))
music2 = pyglet.media.StaticSource(pyglet.media.load('2.ogg'))
def play1():
music1.play()
def play2():
music2.play()
def play3():
music1.play()
time.sleep(0.15)
music.play()
def play4():
music2.play()
time.sleep(0.15)
music2.play()
key = 2
Q = queue.Queue()
def inp():
i = key
while i > 0:
i = i - 1
time.sleep(1)
x = random.randint(1, 4)
print(x)
if x == 1:
Q.put(1)
play1()
if x == 2:
Q.put(2)
play2()
if x == 3:
Q.put(3)
play3()
if x == 4:
Q.put(4)
play4()
def user():
h = input("Enter")
print(h)
inp()
user()