Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python 2.7中播放基于当前时间的随机音频文件?_Python_Python 2.7_Subprocess_Python Multithreading_Omxplayer - Fatal编程技术网

如何在Python 2.7中播放基于当前时间的随机音频文件?

如何在Python 2.7中播放基于当前时间的随机音频文件?,python,python-2.7,subprocess,python-multithreading,omxplayer,Python,Python 2.7,Subprocess,Python Multithreading,Omxplayer,背景:我正在使用as Raspberry Pi rev 2 B运行一个自然声音白噪声发生器,它会根据夜晚/早晨的时间随机播放不同长度的音频曲目。有些曲目只有一分钟,有些长达数小时。我正在寻找一种方法来检查时间,并根据时间改变播放的声音类型 当前问题:我可以在程序首次执行时启动相应的音频,但一旦omxplayer启动,timeloop执行将停止轮询 我尝试在不中断时间检查器的情况下调用OMXPlayer,时间检查器决定播放哪种音频,但一旦音频播放开始,我就无法继续检查时间。即使play\u aud

背景:我正在使用as Raspberry Pi rev 2 B运行一个自然声音白噪声发生器,它会根据夜晚/早晨的时间随机播放不同长度的音频曲目。有些曲目只有一分钟,有些长达数小时。我正在寻找一种方法来检查时间,并根据时间改变播放的声音类型

当前问题:我可以在程序首次执行时启动相应的音频,但一旦omxplayer启动,timeloop执行将停止轮询

我尝试在不中断时间检查器的情况下调用OMXPlayer,时间检查器决定播放哪种音频,但一旦音频播放开始,我就无法继续检查时间。即使
play\u audio()
函数不是递归函数,我仍然希望在音频播放时时间检查器能够继续执行

#/usr/bin/env python
导入日期时间、时间、操作系统、子进程、随机
从timeloop导入timeloop
从日期时间导入时间增量
从时间上导入睡眠
从omxplayer.player导入omxplayer
从pathlib导入路径
tl=Timeloop()
运行_cycle=“off”#当前运行的时间周期的默认值
#用于检查当前时间周期的函数
def检查时间():
dt_now=datetime.datetime.now()
t_now=dt_now.time()
t_night=datetime.time(小时=2,分钟=0)
t_暮光之城=日期时间。时间(小时=4,分钟=45)
t_morning=datetime.time(小时=7,分钟=0)
t_end=datetime.time(小时=10,分钟=0)

如果t_night我的递归都错了,所以它陷入了一个无限循环中,timeloop函数对于这个解决方案来说不是真正可行的。相反,我有一个播放声音的函数,然后调用该函数来检查时间并从相应的子目录播放(或者不播放并等待)

以下是我的想法:

#/usr/bin/env python
导入日期时间、时间、操作系统、子进程、随机
从日期时间导入时间增量
从时间上导入睡眠
从omxplayer.player导入omxplayer
def检查时间():
dt_now=datetime.datetime.now()
t_now=dt_now.time()
t_night=datetime.time(小时=0,分钟=0)
t_暮光之城=日期时间。时间(小时=5,分钟=45)
早上=日期时间。时间(小时=7,分钟=45)
t_end=datetime.time(小时=10,分钟=0)

如果t_night我的递归都错了,所以它陷入了一个无限循环中,timeloop函数对于这个解决方案来说不是真正可行的。相反,我有一个播放声音的函数,然后调用该函数来检查时间并从相应的子目录播放(或者不播放并等待)

以下是我的想法:

#/usr/bin/env python
导入日期时间、时间、操作系统、子进程、随机
从日期时间导入时间增量
从时间上导入睡眠
从omxplayer.player导入omxplayer
def检查时间():
dt_now=datetime.datetime.now()
t_now=dt_now.time()
t_night=datetime.time(小时=0,分钟=0)
t_暮光之城=日期时间。时间(小时=5,分钟=45)
早上=日期时间。时间(小时=7,分钟=45)
t_end=datetime.time(小时=10,分钟=0)
如果你今晚