【问题标题】:Robots not dancing while WAV song plays播放 WAV 歌曲时机器人不跳舞
【发布时间】:2016-04-22 21:50:05
【问题描述】:

我正在做一个项目,该项目需要一组 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)   

歌曲播放并结束,但机器人没有移动。谁能告诉我怎么做?

【问题讨论】:

    标签: python audio calico-project


    【解决方案1】:

    我建议使用 While 循环将您的代码重组为某种东西,因为它更简洁且更易于控制:

    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)
    

    【讨论】:

    • 这不起作用——歌曲播放但涂鸦者仍然不动。我收到时间不存在的错误。我通过输入“从时间导入时间”来更改它,但这也不起作用。
    • 文件“C:\Users\Aesia\Desktop\Elements\Calico-4.0.0-windows-all(1)\Calico\playmusicTest.py”,第 8 行,在 属性错误中: “builtin_function_or_method”对象没有属性“时间”
    • 您是否尝试过简单地使用import time 来导入所有内容?
    • 是的,这就是我最初所拥有的,它给了我同样的错误
    • @A.C.这很奇怪。它在我的身上完美运行。我编辑了代码以合并您的原始设计from time import *,您现在可以试试吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2020-11-22
    • 2021-12-10
    • 2021-09-03
    • 2021-09-06
    • 1970-01-01
    相关资源
    最近更新 更多