Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Kivyde programda müzik çalmak
#1
Kivyde programın heryerinde çalan bir müzik nasıl yaparım. Kullanıcı programı açıp kullanmayı başladıgında müzik sürekli çalıçak bştşnce başdan başlıcak ve buttonlarada ses eklicem bu şekilde bir şey lazım. Smile
Ara
Cevapla
#2
Big Grin 
Kod:
Şöyle bir şey buldum denedim müzik çalıyor bunu nasıl program bitene kadar çaldırırım?


from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.audio import SoundLoader,Sound
from kivy.lang import Builder
Builder.load_string('''
<MenuPage>:
   BoxLayout:
       orientation:'vertical'
       Button:
           text:'song'
           on_press:root.plays()
''')

class MenuPage(Screen):
   M = SoundLoader.load('/home/hosein/Music/Man.mp3')

   def plays(self):
       if MenuPage.M.state == 'stop':
           MenuPage.M.play()
       else:
           MenuPage.M.stop()


sm = ScreenManager()
menu = MenuPage(name='menu')
sm.add_widget(menu)


class TestApp(App):
   def build(self):
       return sm




TestApp().run()
Ara
Cevapla
#3
Yanlış hatırlamıyorsam ve yanlış telafuz etmiyorsam "mutagen" diye bir modül vardı. O modül ile önce çalmak istediğin mp3'ün çalma süresini öğren, sonra o süre dolunca tekrar başa alacak bir fonksiyon yaz. arayüzü dondurmaması için "for" yada "while" döngüsü yerine Kivy'deki Clock modülünü kullan.
Misal
PHP Kod:
def on_start(self):
    
#burada mutagen ile calacağın mp3'ün çalma süresini al.
    # bu satırda müziği çaldır.
    
SoundLoader.load('/home/hosein/Music/Man.mp3')
    
m.play()
    
# sonra müziği çaıracağın başka bir fonksiyonu Clock ile döngüye al
    
Clock.schedule_interval(tekrar_cal,sarki_süresi)
    
def tekrar_cal(self):
    
#müziği çaldır
    
SoundLoader.load('/home/hosein/Music/Man.mp3')
    
m.play() 
Ara
Cevapla
#4
Birde foruma eklediğin kodları [ php] .... [/ php] tagleri içinde ver Smile
Ara
Cevapla
#5
Yukarda yazdıklarınızdan çok bir şey anlamadım. Smile Söylediginiz modülede bakdım hepsi başka şekilde anlatıyor ve farklı geldi bana. Ondan nerdeyse hiç bir şey anlamadım.

Mesala aşşagıdaki yazdıgım kodlarla kullanıcı programı açar açmaz müzik başlıycak mesala 1 dk filan müzik çıkana kadar müzik sürüyor. 

Altta basit bir örnek verdim kullanıcı listeye cümle ekliyor. ve arkada sürekli müzik çalıyor. Bunun fonksiyonları anahtar kelimeleri tam olarak nasıl basit bir şekilde aşşagıya eklermisiniz?  Rolleyes

(Eger örnek verirseniz sizin örneklerine bakarak çalışıcam.)

YUKARDA VERDİGİNİZ ÖRNEK KODLARI BİRAZ DAHA İNCELEDİM VE BİRŞEYLER ANLADIM DENEYEREK YAPABİLİRİM BELKİ.  Smile
PHP Kod:
from kivy.app import App
from kivy
.uix.boxlayout import BoxLayout
from kivy
.lang import Builder

kv 
"""
BoxLayout:
    orientation:'vertical'
    padding: 100
    TextInput:
        id: txt
    Label:
        id: lbl
        font_size: sp(20)
    Button:
        text: "
Ekle"
        on_press: app.ekle()
"""

lis = []

class 
main(App):
 
   def build(self):
 
       return Builder.load_string(kv)
 
       
    def ekle
(self):
 
       lis.append(self.root.ids.txt.text)
 
       self.root.ids.txt.text ""
 
       self.root.ids.lbl.text "%s " str(lis

main().run() 
Ara
Cevapla
#6
Verdiginiz kodları biraz daha inceledikden sonra aşşagıdaki gibi yaptım. Smile  Ama kullanıcı müzigin sesini kısmak istiyor ama diyelimki telefonunun ses dügmeleri bozuk oda ayarlardan degiştirmesi gerekiyor yani slider gibi bir şeyle müzigin degerini ayarlıyor. Bunun için ne lazım? Smile
KODLAR

    PHP Kod:
    from kivy.app import App
    from kivy
    .uix.boxlayout import BoxLayout
    from kivy
    .lang import Builder
    from kivy
    .core.audio import SoundLoader,Sound
    from kivy
    .clock import Clock
    kv 
    """
    BoxLayout:
        orientation:'vertical'
        padding: 100
        TextInput:
            id: txt
        Label:
            id: lbl
            font_size: sp(20)
        Button:
            text: "
    Ekle"
            on_press: app.ekle()
    """

    lis = []

    class 
    main(App):
     
       def build(self):
     
           m SoundLoader.load('man.mp3')
     
           m.play()
     
           Clock.schedule_interval(self.tekrar_cal,16)
     
           return Builder.load_string(kv)

     
       def tekrar_cal(selfobj):
     
           m SoundLoader.load('Man.mp3')
     
           m.play() 

     
       def ekle(self):
     
           lis.append(self.root.ids.txt.text)
     
           self.root.ids.txt.text ""
     
           self.root.ids.lbl.text "%s " str(lis

    main().run() 
  1.    
Ara
Cevapla
#7
Şöyle bir kaynak buldum. Ses düzeyini ayarlamak için.

- https://stackoverflow.com/questions/4247...ume-python

Sliderida ekledim ama tek ses degerini degiştirecek fonksiyon kaldı.  Shy
PHP Kod:
from kivy.app import App
from kivy
.uix.boxlayout import BoxLayout
from kivy
.lang import Builder
from kivy
.core.audio import SoundLoader,Sound
from kivy
.clock import Clock
kv 
"""
BoxLayout:
    orientation:'vertical'
    padding: 50
    TextInput:
        id: txt
    Label:
        id: lbl
        font_size: sp(20)
    Button:
        text: "
Ekle"
        font_size: sp(15)
        on_press: app.ekle()

    Slider:
        id: volume_seviye
        step: 5
        min: 0
        max: 100
        value: 50.0
        on_value: app.ses()
        orientation: 'horizontal'
        size_hint: 1, 1
    Label:
        font_size: sp(25)
        id: lbl2
        text: "
Müzigin Seviyesi20.0"
"""

lis = []

class 
main(App):
 
   def build(self):
 
       m SoundLoader.load('man.mp3')
 
       m.play()
 
       Clock.schedule_interval(self.tekrar_cal,16)
 
       return Builder.load_string(kv)

 
   def tekrar_cal(selfobj):
 
       m SoundLoader.load('Man.mp3')
 
       m.play() 

 
   def ekle(self):
 
       lis.append(self.root.ids.txt.text)
 
       self.root.ids.txt.text ""
 
       self.root.ids.lbl.text "%s " str(lis)

 
   def ses(self):
 
       self.root.ids.lbl2.text "Müzigin Seviyesi: %s" str(self.root.ids.volume_seviye.value)

main().run() 
Ara
Cevapla
#8
Gün içerisinde çalışıyorum vaktim yok, Akşama kadar sen çözemezsen ben bakarım. Smile
Ara
Cevapla
#9
Olur. Smile Başka kaynaklar da bulursam orda bir şeyler yapabilirim galiba, kolay gelsin.

Birde bir video vardı. Türkçe, ordada bir videoplayer yapımını anlatıyor belki ordan bir şeyler bulabilirim. Smile
Ara
Cevapla
#10
Hala cevabını bulmadım. Siz birşeyler buldunuzmu ? Smile
Ara
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Python kivyde android için klavye yapma SD-16 10 6,074 21-08-2018, Saat: 20:03
Son Yorum: excel
  Kİvyde bir sorunum var. SD-16 21 9,585 05-08-2018, Saat: 17:28
Son Yorum: Ethnic

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme