Kivy - 影片



Kivy 框架中的 Video 控制元件能夠播放影片檔案和流媒體。您可以播放的影片格式取決於作業系統、已安裝的影片提供程式以及任何所需的外掛。GStreamer 提供程式幾乎可以處理任何影片編解碼器,例如 mpg、avi、mp4、mov 等。

Video 類定義在 "kivy.uix.video" 模組中。

from kivy.uix.video import Video

vid = Video(**args)

建構函式唯一必需的引數是 source 屬性 - 一個表示影片檔案路徑的字串。

vid = Video(source = "test.mp4")

為了開始影片播放,您需要將其 play 屬性設定為 True。您可以在建構函式中傳遞此引數以在影片載入後立即開始播放,或者根據需要將其設定為 True/False。

# start playing the video at creation
video = Video(source='test.mp4', play=True)

# create the video, and start later
video = Video(source='test.mp4')

# and later
video.play = True

Video 類的其他屬性如下所示:

  • duration - 影片時長。時長預設為 "-1",並在影片載入時設定為實際時長。

  • eos - 代表“流結束”。布林屬性指示影片是否播放完畢(到達流的結尾)。

  • play - 指示影片是否正在播放。您可以透過將此屬性設定為 True 或 False 來啟動/停止影片。

  • position - 影片位置,介於 0 和 duration 之間。位置預設為 -1,並在影片載入時設定為實際位置。

  • seek() - 將位置設定為總時長的比例,必須在 0-1 之間。

  • state - 字串,指示播放、暫停或停止影片 -

# start playing the video at creation
video = Video(source='test.mp4', state='play')

# create the video, and start later
video = Video(source='test.mp4')

# and later
video.state = 'play'
  • volume - 影片音量,範圍為 0-1。1 表示全音量,0 表示靜音。

示例

from kivy.app import App
from kivy.uix.videoplayer import VideoPlayer
from kivy.uix.video import Video
from kivy.core.window import Window

Window.size = (720,400)

class MainApp(App):
   title = "Simple Video"
   def build(self):
      player = Video(source = "earth.mp4",
         size_hint = (1,1),
         options={'fit_mode': 'contain'})
      player.state = 'play'
      player.options = {'eos': 'loop'}
      player.allow_stretch=True
      return player

MainApp().run()

輸出

執行以上程式碼後,影片播放開始 -

Kivy Videos
廣告
© . All rights reserved.