猿问

Subprocess.Popen 在几秒钟后停止(或发生故障)

我是一个完整的初学者,所以为任何错误道歉。这是我在 Python 3.5 中的代码。它在 Raspberry Pi 3 上的 Raspbian 中执行。


import subprocess


radio = subprocess.Popen(["mplayer", 'http://edge-bauerabsolute-02-gos1.sharp-stream.com/absolute90s.mp3?'], shell = False , stdout=subprocess.PIPE)


print ("Other code - no waiting for the subprocess to finish")

收音机播放大约 30 秒然后停止。我希望它在没有脚本等待子进程结束的情况下在后台运行。此外,在 Linux 中,如果我停止脚本,收音机会作为 mplayer 的运行进程再次返回(所以 python 脚本必须以某种方式停止它?)


似乎子进程仍在继续,但音乐/声音停止了。它似乎与互联网连接无关,即使我等待它也不会再次启动。我试过做 radio.communicate() 或 radio.stdout.read() 这很有趣,让我的收音机连续播放,但不继续脚本。我没有任何输出,脚本只是保留。


问题:当脚本执行其他操作时,我如何允许“广播”过程在后台继续(同时播放音乐)?


PIPIONE
浏览 394回答 1
微课
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答