Я пытаюсь создать приложение для воспроизведения видео, которое будет запускаться на одноплатном компьютере (в частности, OrangePi One / P C с использованием Armbian). У меня возникли проблемы с созданием плавного видео с помощью ffpyplayer, видеоплеера, используемого kivy.
Из-за этого я решил просто запустить приложение, которое генерирует кнопки управления перед видео и попытаться сделать фон в приложении, чтобы были видны и кнопки видео, и кнопки kivy. как рекомендовано в связанном сообщении: Kivy Video Player не работает на Raspberry 3B +
Я видел подобное в: https://github.com/kivy/kivy/pull/5252 Я тестирую программы на компьютере windows перед загрузкой на одноплатные компьютеры, и мне не удалось успешно создать пустой фон. В основном я пытался изменить файл .kv, однако мне не удалось найти какие-либо настройки, которые можно отрегулировать для получения желаемого результата.
Для простоты я загружаю более короткий код, который изложен в точном так же, как мой основной код:
Код Kivy: my.kv
#:kivy 1.0
<MyGrid>
background_color: 0, 0, 0, 0 # only creates a black colour
#opacity: 0.5 #just affects the widgets not the background
canvas.before:
Color:
rgba: 0, 0, 0, 1
Rectangle:
pos: self.pos
size: self.size
#variable name: ID
name: name #declare global variables
email: email
GridLayout:
cols:1
size: root.width-200, root.height-200 #make the widget fit the screen and then minus a border from it
pos: 100, 100 #offset the position to compensate for the boarder
GridLayout:
cols: 2
Label:
text: "Name: "
TextInput:
id: name
multiline:False
Label:
text: "email: "
TextInput:
id: email
multiline: False
Button:
text: "submit"
on_press: root.btn() #if there was an event. ie button was pressed
Python код:
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.network.urlrequest import UrlRequest
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.core.window import Window
class MyGrid(Widget): #creates apps layout and contents
#declaire global variables to pass to and from .kv file. note the variables names must be the same between the 2 files
name = ObjectProperty(None) #initialise as none and then after reading the .kv file it will populate it
email = ObjectProperty(None)
def btn(self): #function btn which occurs. it needs to be in here
print ("name: ", self.name.text, " email: ", self.email.text)
self.name.text = ""
self.email.text = ""
class MyApp(App): #creates the app
def build(self):
return MyGrid()
if __name__ == '__main__': #runs the app
MyApp().run()
На прилагаемой фотографии показано приложение, работающее с видео с использованием ffpyplayer и является более или менее конечной целью. Задача состоит в том, чтобы зеленый цвет был рабочим столом. Пример изображения .
любое руководство будет очень признательно!