无法将子进程对象存储在变量中并使用 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...