0

我需要在 kivy 应用程序中运行 omxplayer。问题是当我启动 omxplayer 时,它出现在 kivy 应用程序后面,所以它是不可见的。

我尝试使用:Window.clearcolor = (0,0,0,0)但它不起作用。我认为那是因为我在 linux 终端中运行该应用程序。

如何在所有应用程序前显示播放器?

4

1 回答 1

1

我终于做到了。这里解释一下。

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 应用程序一直在较低层运行,因此每个输入信号(键盘、按钮等)仍然有效。

于 2019-09-15T14:19:59.627 回答