Python iRobot创建-播放两首歌曲
这是我的密码:Python iRobot创建-播放两首歌曲,python,robotics,robot,mobile-robots,Python,Robotics,Robot,Mobile Robots,这是我的密码: import create robot = create.Create(3) robot.toFullMode() robot.setSong(0,[(36,16),(36,16),(38,32),(36,32),(53,32),(52,32),\ (36,16),(36,16),(38,32),(36,32),(55,32),(41,32),\ (36,16),(36,16),(48,32),(33,32)]) robot.setSong(1,[(53,32),(40
import create
robot = create.Create(3)
robot.toFullMode()
robot.setSong(0,[(36,16),(36,16),(38,32),(36,32),(53,32),(52,32),\
(36,16),(36,16),(38,32),(36,32),(55,32),(41,32),\
(36,16),(36,16),(48,32),(33,32)])
robot.setSong(1,[(53,32),(40,32),(38,32),(34,16),(34,16),\
(33,32),(41,32),(43,32),(41,32)])
robot.playSongNumber(0)
robot.playSongNumber(1)
第一首歌开始播放,但第二首不会…你知道为什么吗?
这是使用iRobot create:的
create.py
Python接口编写的,没有看到任何文档或源代码,这是一个猜测,但是
我敢打赌,playSongNumber
函数只向机器人发送播放命令,而不等待它完成,当你在它已经播放某些内容时向它发送播放命令时,它会忽略你
如果我是对的,那么希望API提供了一些等待完成的方法。如果它没有提供,但它确实提供了一种轮询当前状态的方法,那么您可以在循环中这样做(在每次检查之间短暂休眠),直到完成为止。如果它甚至没有提供,那么你必须通过计算音符的数量(或者加上持续时间,如果每个音符对中的一个数字是持续时间)并睡眠那么长来计算歌曲需要多长时间。
playSongNumber
检查歌曲当前是否正在播放,它将忽略新歌,直到第一首歌播放完毕。您可以通过轮询歌曲播放?
传感器(编号37)来检查歌曲是否播放完毕
创建开放接口文档位于以下位置:
从该文件中:
播放歌曲
此命令允许您选择一个
从使用歌曲添加到iRobot Create的歌曲中播放的歌曲
指挥部。必须添加一首或多首歌曲才能使用歌曲创建
命令,以便播放命令工作。此外,此命令不执行
如果已播放歌曲,则不起作用。等待当前正在播放的视频
在发送此命令之前,已完成song。请注意,“歌曲播放”
传感器数据包可用于检查Create是否准备接受
这个命令
歌曲演奏
数据包ID:37数据字节:1个无符号
世界卫生组织的状况
返回歌曲播放器。1=当前播放的爱歌;0=爱松
不玩
是否有关于API的公共文档或库的开源代码?如果是这样的话,如果你在你的问题上添加链接会有所帮助。(如果不是的话,只是把这个事实放在问题中是有用的。)是的,很抱歉这个非常模糊的问题。你的回答解决了我的问题,谢谢。