Роботы не танцуют, пока играет WAV

Я работаю над проектом, который требует от группы Scribbler 2 танцевать в начале воспроизведения wav-файла и останавливаться в конце файла.

(Это не полный код, а скорее я тестирую, как это сделать, чтобы я мог применить его к большему коду.)

from Myro import *
from winsound import*
from time import *

def playSong():
    s=PlaySound('C:\Python34\cantHoldUs.wav',SND_FILENAME)
    sleep(30)
    s.PlaySound(None,SND_FILENAME)

while playSong()==True:
    motors(-1,1)   

Песня играет и заканчивается, но робот не двигается. Может кто-нибудь сказать мне, как?

1 ответ

Я бы порекомендовал реструктурировать ваш код к чему-то с помощью цикла While Loop, поскольку он чище и проще в управлении:

from time import *

# Play the song
s=PlaySound('C:\Python34\cantHoldUs.wav',SND_FILENAME)

# Start the timer so we can identify when to stop
starttime = time()

# Use a while loop with a True statement until we decide to break it
while True:
    # Make that robot dance!
    motors(-1,1)

    # Check the current time
    stop_time = ((time() - starttime))

    # Stop when 30 seconds is hit
    if stop_time > 30:
        s.PlaySound(None,SND_FILENAME)
        break

    sleep(1)
Другие вопросы по тегам