在windows10中使用Pyglet在python3中播放音频后,命令提示符被取消选中

2024-05-14 01:25:01 发布

您现在位置:Python中文网/ 问答频道 /正文

需要采取用户输入后,立即完成代码播放所有的声音。但不能,因为当声音文件加载到内存中时,命令提示符会失去焦点,因此无法从键盘获取输入。你知道吗

尝试使用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()

Tags: importappplayiftimequeueputdef