Командная строка становится невыбранной после использования Pyglet для воспроизведения звука в Python 3 в Windows 10

Необходимо принять пользовательский ввод сразу после того, как код закончен, воспроизводя все звуки. Но не может, потому что командная строка теряет фокус, когда звуковые файлы загружаются в память, и, следовательно, не может принимать ввод с клавиатуры.

Пробовал с использованием 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()

0 ответов

Другие вопросы по тегам