在折腾MP3-TF-16P这个模块时发现个很大的问题,发送播放命令后立马发送查询命令就会报错:TypeError: 'NoneType' object isn't subscriptable
原因是命令发送太快了,解决办法加延时
然后又发现了新的问题:查询命令会覆盖播放命令
# 设置音量
sendCMD(0x06, 0x00, 21)
# 设置均衡器
sendCMD(0x07, 0x00, 1)
sendCMD(0x0F, 0x01, 2)
print(query(5)) # TypeError: 'NoneType' object isn't subscriptable
sendCMD()用来发送命令,命令发送后有500ms的延时,query()查询文件夹里的歌曲总数。
当我在发播放命令后追加500ms延时不播放了
# 设置音量
sendCMD(0x06, 0x00, 21)
# 设置均衡器
sendCMD(0x07, 0x00, 1)
sendCMD(0x0F, 0x01, 2)
sleep_ms(500)
print(query(5))
就算延时加到1000ms依然无法播放
# 设置音量
sendCMD(0x06, 0x00, 21)
# 设置均衡器
sendCMD(0x07, 0x00, 1)
sendCMD(0x0F, 0x01, 2)
sleep_ms(1000)
print(query(5))
把查询命令放在播放命令之前又能播放了
# 设置音量
sendCMD(0x06, 0x00, 21)
# 设置均衡器
sendCMD(0x07, 0x00, 1)
print(query(5))
sendCMD(0x0F, 0x01, 2)
解决办法:播放命令放在最后