2023年9月2日 星期六

Kivy UIX篇 widget篇 Video類 attribute篇 講解

簡述

根據官方解釋:

The Video widget is used to display video files and streams. Depending on your Video core provider, platform, and plugins, you will be able to play different formats. For example, the pygame video provider only supports MPEG1 on Linux and OSX. GStreamer is more versatile, and can read many video containers and codecs such as MKV, OGV, AVI, MOV, FLV (if the correct gstreamer plugins are installed). Our VideoBase implementation is used under the hood.

意思是video用於顯示影片檔案。 (打那麼多我也看不懂~~)

基本範例

首先在main.py中寫上起手式:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout


class MyLayout(GridLayout):
    pass


class Myapp(App):

    def build(self):
        return MyLayout()


if __name__ == '__main__':
    Myapp().run()

在以上程式碼中,我讓MyLayout類繼承GridLayout類,使得在my.kv中的<MyLayout>:可以繼承GridLayout類的特性。

在my.kv中寫上此段程式碼:

<MyLayout>:
    rows:2

    Video:
        source: 'example.mp4'
        state: 'play'

    Label:
        text:'A1'

執行結果如下:

在上面的程式碼中,我設參數state: 'play',原因是Video物件不存在播放與停止鍵,因此設參數state: 'play'讓影片在一開始就播放,若省略此參數直接執行,會發現無論如何點擊Video物件都不會播放(若要讓影片有基本的功能ex:播放、停止、全螢幕等,可以使用Video player物件,請參考Video player篇)

Video使用技巧:

1.state:設定video物件一開始的狀態為play、pause或stop。

沒有留言:

張貼留言

精選文章

Kivy UIX篇 widget篇 TabbedPanel類 event篇 講解