Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Python sonsuz döngüden cikamiyorum!!!

Flakes

MFC Üyesi
  • Üyelik Tarihi
    24 Ocak 2022
  • Mesajlar
    7
  • MFC Puanı
    30
Python:
from random import choice

class MP3calar():
    def __init__(self,sarkiListesi = []):
        self.suancalansarki = ""
        self.ses = 100
        self.sarkiListesi = sarkiListesi
        self.durum = True


    def sarkisec(self):
        sayac = 1
        for sarki in self.sarkiListesi:
            print("{}){}".format(sayac, sarki))
            sayac += 1

        secileceksarki = int(input("Secmek istediginiz sarkiyi secin: "))

        while secileceksarki < 1 or silineceksarki > len(self.sarkiListesi):
            secileceksarki = int(
                input("Secmek istediginiz sarkinin numarasini dogru girin(1-{}): ".format(self.sarkiListesi)))

            self.suancalansarki = self.sarkiListesi[secileceksarki-1]


    def sesazalt(self):
        if self.ses == 100:
            pass
        else:
            self.ses += 10

    def sesarttir(self):
        if self.ses == 0:
            pass
        else:
            self.ses -= 10

    def rasgelesarkisec(self):
        randomsarki = choice(self.sarkiListesi)
        self.suancalansarki = randomsarki

    def sarkiekle(self):
        sarkiadi = input("Sarkinin adini girin: ")
        sanatci = input("Sanatcinin adini girin: ")

        self.sarkiListesi.append(sarkiadi + " " + sanatci)

    def sarkisil(self):
        sayac = 1
        for sarki in self.sarkiListesi:
            print("{}){}".format(sayac,sarki))
            sayac += 1
        silineceksarki = int(input("Silmek istediginiz sarkiyi secin: "))
        while silineceksarki < 1 or silineceksarki > len(self.sarkiListesi):
            silineceksarki = int(
                input("Silmek istediginiz sarkinin numarasini dogru girin(1-{}): ".format(self.sarkiListesi)))
        self.sarkiListesi.pop(silineceksarki-1)

    def kapat(self):
        self.durum = False

    def menugöster(self):
        print("""
Sarki Listesi: {}
Suan calan sarkinin adi: {}
Ses düzeyi: {}

1)Sarki Sec
2)Sesi Azalt
3)Sesi Arttir
4)Rastgele Sarki
5)Sarki Ekle
6)Sarki Sil
7)MP3 Calari Kapat
              """.format(self.sarkiListesi,self.suancalansarki,self.ses))

    def secim(self):
        sec = int(input("Ne yapmak istiyorsunuz: "))
        while sec < 1 or sec > 7:
                sec = int(input("Girdiginiz deger 1-7 arasinda olmalidir: "))

        return sec

    def calistir(self):
        self.menugöster()
        secim = self.secim

        if self.secim == 1:
            self.sarkisec()
        elif self.secim == 2:
            self.sesazalt()
        elif self.secim == 3:
            self.sesarttir()
        elif self.secim == 4:
            self.rasgelesarkisec()
        elif self.secim == 5:
            self.sarkiekle()
        elif self.secim == 6:
            self.sarkisil()
        elif self.secim == 7:
            self.kapat()

mp3calar = MP3calar()
while mp3calar.durum:
    mp3calar.calistir()

print("Program Sonlandi")


Yukaridaki gibi bir mp3calar yapmayi denedim ama print edince sinirsiz döngüde sürekli ayni seyi soruyor. Secim kisminida sormuyor, lütfen yardim!!!
 
Moderatör tarafında düzenlendi:

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,275
  • MFC Puanı
    15,970
Python_betik_2.png
Hatalı satır, Gany IDE Programlama yazılımı ile işaretlenmiş durum'da( def __init__(self,sarkiListesi = []): ) .Anlamı ise betik 4.satırda işlemi 15.satır'dan geri döndürüyor.Bu sürekli sonsuz döngü demektir.

Doğrusu : { Python ile Kendi Müzik Çalarınızı Yapın }

1644609748913.png


Burada Python'un yardımıyla kendi müzik çalarımızı oluşturacağız. Bunun için üç paket kullanacağız:

1. Tkinter → UI için

2. Pygame → müzik çalmak için

3. os → sisteminizin dosyalarına erişmek için


Yani burada müzik çalar oluşturmanın her adımını göreceğiz, kodumuzu dört bölüme ayırdık.

İlk bölümde tüm paketleri içe aktaracağız. İkinci olarak kullanıcı arayüzünü oluşturacağız. Üçüncüsü, tüm müzikleri sistemden içe aktarıyoruz ve uygulamada temsil ediyoruz. Dördüncüsü, belirli müziğin çalınmasına yardımcı olacak bir işlev tanımlıyoruz.

Bu üç paketi içe aktarmadan önce bu paketleri sistemimize kurmamız gerekiyor.

Kod:
pip install pygame

Kod:
pip install tkinter

İşletim sistemi zaten kurulu, bu yüzden onu içe aktarmamız gerekiyor:

Kod:
from tkinter import *

Kod:
from pygame import mixer

Kod:
import os

Yani şimdi bir sonraki adımı göreceğiz.

Yani burada uygulama için UI oluşturacağız.

Python:
root = Tk()
root.title(“music player”)
Button(root,text= “play”, command = playsong).grid(row =1 , column = 0)
Button(root,text= “pause”, command = pausesong).grid(row =1 , column = 1)
Button(root,text= “stop”, command = stopsong).grid(row =1 , column = 2)
Button(root,text= “resume”, command = resumesong).grid(row =1 , column = 3)
mainloop()

Yani burada 4 düğme ve geçiş komutları oluşturduk ve bir sonraki adımda her bir işlev için çalmaya, durdurmaya, devam ettirmeye ve belirli şarkıyı durdurmaya yardımcı olacak işlevi oluşturacağız.

Şimdi tüm şarkıyı çalma listemizde de saklayacağız, bu yüzden burada 3. adımda çalma listesi olarak bir değişken adı oluşturacağız ve şarkı listesini sistemimizden kaydedip sunacağız.

Python:
mixer.init()
playlist = Listbox(root,selectmode=SINGLE,bg = “green”)
playlist.grid(columnspan =5)
os.chdir(‘/Users/rajatupadhyaya/Documents/song’)
song = os.listdir()
for s in song:
playlist.insert(END,s)

Yani burada mixer.init() sistemdeki tüm mevcut şarkıyı kontrol edecek....

Bir sonraki satırda, kullanıcı arayüzümüze sunulacak bir liste kutusu oluşturduk.

No in next line os, belirli bir dizine erişmeye yardımcı olacaktır, bu yüzden yolu verdik ve tüm müziği şarkı değişkeninde sakladık ve tüm şarkıyı çalma listesinde depolamak için bir döngü çalıştırdık.

Şimdi fonksiyonu tanımlayacağımız ve aynı zamanda çalma listesini oluşturacağımız son adımı göreceğiz.

Python:
def playsong():
currentsong = playlist.get(ACTIVE)
print(currentsong)
mixer.music.load(currentsong)
mixer.music.play()
def pausesong():
mixer.music.pause()
def stopsong():
mixer.music.stop()
def resumesong():
mixer.music.unpause()

Burada playong işlevi, şarkının aktif seçimini kontrol edecek ve şarkıyı yükleyip çalacaktır.

Kodun Tamamı :

1644610359385.png

Sonuç :

1644610409541.png

Nasıl Yapılır Youtube Videosu :

Diğer Bir Sürü Youtube Vidoesu :

Kod:
https://duckduckgo.com/?q=create+mp3+player+in+python&iax=videos&ia=videos
 
Üst Alt