我正在树莓派上开发一个小型媒体播放器应用程序。所以这有两个主要功能。即收音机和文件播放器。如果在下面的文件播放器中输入代码:
process = subprocess.Popen(['omxplayer',songs[0],'-o','local'], stdout=subprocess.PIPE )
#stdout = process.communicate()[0]
nxt=0
while True:
print("looping")
output = process.stdout.readline()
if nxt>1:
process = subprocess.Popen(['omxplayer', songs[nxt],'-o','local'], stdout=subprocess.PIPE)
output = process.stdout.readline()
#stdout = process.communicate()[0]
if output =='' :
print("2")
if output:
print("finshed")
nxt=nxt+1
if GPIO.input(7)==0:
break
问题是在这个循环之后和之外的代码在子进程完成之前不起作用。如何使用 ayncio 以便获取一些 gpio 读数并在需要时退出此循环?我真的花了 8 个小时来弄清楚这个谷歌搜索。但是所有可用的教程都很难理解。