我需要在 kivy 应用程序中运行 omxplayer。问题是当我启动 omxplayer 时,它出现在 kivy 应用程序后面,所以它是不可见的。
我尝试使用:Window.clearcolor = (0,0,0,0)
但它不起作用。我认为那是因为我在 linux 终端中运行该应用程序。
如何在所有应用程序前显示播放器?
我需要在 kivy 应用程序中运行 omxplayer。问题是当我启动 omxplayer 时,它出现在 kivy 应用程序后面,所以它是不可见的。
我尝试使用:Window.clearcolor = (0,0,0,0)
但它不起作用。我认为那是因为我在 linux 终端中运行该应用程序。
如何在所有应用程序前显示播放器?
我终于做到了。这里解释一下。
Raspberry 视频核心将不同应用程序的屏幕放在不同的层中。终端位于 -127 层,根据 kivy 文档,kivy 默认在第 0 层运行。在我的 python 代码中,我使用下一行代码运行 omxplayer:
Popen(['omxplayer', '--layer', '100000', '--live', '--refresh', '--video_queue', '4', '--fps', '30', '--win', '"0 0 800 480"', 'rtsp://192.168.0.88'])
重要的是--layer 100000
,这是一个允许我们选择 omxplayer 层的选项。
在我的情况下,它在像 128 这样的层中运行,但它没有工作,所以我怀疑 kivy 不在第 0 层。我结束了 100000 并且它有效。
可以说 kivy 应用程序一直在较低层运行,因此每个输入信号(键盘、按钮等)仍然有效。