Kivy ile Video Player Yapımı

Categories python kivyPosted on
teknopenguen kivy uygulama

Bu dersimizde bir önceki derste yapmış olduğumuz ilkel video playerımıza oynat, duraklat ve durdur butonlarını ekleyeceğiz.

Bunun için 3 buton ve 3 tane de fonksiyona ihtiyacım var. kv dosyamızın içeriğine bakarak butonları nasıl oluşturduğumuza bakalım.

 

  1. [code lang = "python"]
  2. <video_player>:
  3.  
  4. video: _video
  5.  
  6. Video:
  7.  
  8. id: _video
  9. source: "linustorvalds.mp4"
  10.  
  11. play: True
  12.  
  13. BoxLayout:
  14.  
  15. size_hint: 1,0.05
  16.  
  17. orientation: "horizontal"
  18.  
  19. Button:
  20.  
  21. size: 33,33
  22. size_hint: None,None
  23. background_normal: "play_1.png"
  24. background_down: "play_2.png"
  25. on_press: root.oynat()
  26.  
  27. Button:
  28.  
  29. size: 33,33
  30. size_hint: None,None
  31. background_normal: "pause_1.png"
  32. background_down: "pause_2.png"
  33. on_press: root.duraklat()
  34.  
  35. Button:
  36.  
  37. size: 33,33
  38. size_hint: None,None
  39. background_normal: "stop_1.png"
  40. background_down: "stop_2.png"
  41. on_press: root.durdur()
  42.  
  43. [/code]

Bir önceki dersimizdeki kv dosyamıza eklediklerimizi görüyorsunuz bir boxlayout ve onun içinde de 3 adet buton. Bu butonların görüntüsünü belirlemek içi bu sefer image dosyaları kullandık.

  1. [code lang = "python"]
  2. background_normal: "stop_1.png"
  3. background_down: "stop_2.png"
  4. [/code]

mesela bu satırda stop butonumuzun “stop_1.png” şeklinde görünmesini ancak bu butona tıklandığında “stop_2.png” şeklinde görünmesini istedik. Bu image dosyalarımın boyutu 33×33 olduğu için butonlarıma da bu boyutları verdim aksi takdirde imageların boyutları değişir ve görüntü bozulur. size_hint parametrelerine de None değereleri verildi bunu neden verdiğimizi düşünüyorsanız silin ve öyle çalıştırın nedenini anlayacaksınız.

Kv dosyamızda ayrıca videomuza bir adet id verdik bu id ile py dosyamızda bu videomuzun state parametresine ulaşacağız. State parametresi videomuzun o anki durumunu belirler. Videomuz oynuyorsa state  “play” duraklatılmışsa  “pause” durdurulmuşsa  “stop” değerlerini alır. Gelin py dosyamızda bu değerleri nasıl değiştirdiğimizi görelim.

 

  1. [code lang = "python"]
  2.  
  3. from kivy.app import App
  4.  
  5. from kivy.uix.relativelayout import RelativeLayout
  6.  
  7.  
  8. class video_player(RelativeLayout):
  9.  
  10. def oynat(self):
  11.  
  12. self.video.state = "play"
  13.  
  14. def duraklat(self):
  15.  
  16. self.video.state = "pause"
  17.  
  18. def durdur(self):
  19.  
  20. self.video.state = "stop"
  21.  
  22. class video(App):
  23.  
  24. def build(self):
  25.  
  26. return video_player()
  27.  
  28.  
  29. if __name__ == "__main__":
  30.  
  31. video().run()
  32.  
  33. [/code]

burada butonlarımıza bağladığımız fonksiyonları ve bu fonksiyonlar ile videomuzun state parametresini nasıl değiştirdiğimizi görüyoruz. Videomuza video şeklinde ulaşabilmek için kv dosyasında id belirleme bölümüne dikkat edin.

Burada biz kendi image dosyalarımızı ve kendi videomuzu kullandık. Siz kendi image dosyalarınızı belirleyin ve işlemleri öyle yapın. Dosyalara bu şekilde sadece ismi ile ulaşmak için aynı dizinde olmaları gerektiğini unutmayın.

Bizde görüntü bu şekilde sizde ise belirlediğiniz buton imageları ve video ile değişik olabilir ama buton fonksiyonları aynı olmalı.

Eğer anlamadığınız bir nokta varsa veya bir hata ile karşılaştı iseniz yorum yazabilir, youtube kanalımızdan ders anlatım videomuzu izleyebilirsiniz. 

 

avatar
Uğur Çamlı
Uğur Çamlı

Kivy ile Android programlama ile ilgili bir ders serisi yayınlarsanız çok faydalı olacağını düşünüyorum. İyi çalışmalar.