如何解决无法将子进程对象存储在变量中并使用 stdin.write()
我正在为 RaspBerry Pi 开发一个项目,其中服务器接收 POST 请求并使用给定的 URL 启动 OMXplayer 进程以播放视频。到目前为止,它能够很好地开始播放视频。但是,我希望能够与 omxplayer
进程进行交互,以便我可以播放/暂停视频,以及向前和向后跳转。我也希望能够终止该进程。这应该可以通过调用进程的 stdin.write()
和 terminate()
来实现,但是当我尝试执行这些方法(通过触发相应的 GET
路径)时,我不断收到错误 {{1} },表示即使函数被执行,变量video_process也没有在play_video()中赋值。
我尝试了很多方法来尝试让它起作用,例如 makign nonetype object has no attribute ...
是 video_process
的一个属性,但所有这些都会产生相同的错误,我觉得我真的错过了一些东西明显的。我尝试改编其他 SO 帖子中的示例代码:
ConfigurationServer
from subprocess import Popen,PIPE
p = Popen(['omxplayer',filePath],stdin=PIPE,stdout=PIPE,stderr=PIPE,close_fds=True)
p.stdin.write(' ') # sends a space to the running process
p.stdin.flush() # if the above isn't enough,try adding a flush
谢谢,我将不胜感激,因为我已经迫不及待了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。