首页 > 解决方案 > kivy 将视频放在画布中?

问题描述

我想将视频放在画布内。

我在其中使用图像很好,但是当我使用视频时,它会触发一些错误Unknown <mp4> type, no loader found.,我不知道问题出在哪里。

这是我的图像代码:

with self.canvas:
            self.bg = Rectangle(source='mahrez.jpg', pos=self.pos, size=self.size)

但我想使用视频而不是图像

标签: pythonpython-3.xvideokivykivy-language

解决方案


kivy.core.video您可以通过使用并使用它来设置纹理来做您想做的事情Rectangle

from kivy.core.video import Video as CoreVideo
.
.
.
    with self.canvas:
        self.bg = Rectangle(source='mahrez.jpg', pos=self.pos, size=self.size)
    self.video = CoreVideo()
    self.video.bind(on_frame=self.set_bg_texture)
    self.video.filename = 'BigBuckBunny.mp4'

    # just a delay to show that the original image is shown first
    Clock.schedule_once(self.start_vid, 3)

def start_vid(self, dt):
    self.video.play()

def set_bg_texture(self, *args):
    self.bg.texture = self.video.texture

推荐阅读