38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import os
|
|
from pygame import mixer
|
|
|
|
class MusicPlayerModel:
|
|
def __init__(self):
|
|
self.music_folder = "resources"
|
|
self.current_song = None
|
|
mixer.init()
|
|
|
|
def load_songs(self):
|
|
"""Carga las canciones desde la carpeta de recursos."""
|
|
if not os.path.exists(self.music_folder):
|
|
os.makedirs(self.music_folder)
|
|
return [], "Carpeta 'resources' creada. Agrega canciones."
|
|
|
|
songs = [f for f in os.listdir(self.music_folder) if f.endswith(".mp3")]
|
|
if not songs:
|
|
return [], "No se encontraron archivos MP3 en 'resources'."
|
|
|
|
return songs, "Canciones cargadas con éxito."
|
|
|
|
def play_song(self, song_name):
|
|
"""Reproduce una canción por su nombre."""
|
|
song_path = os.path.join(self.music_folder, song_name)
|
|
try:
|
|
mixer.music.load(song_path)
|
|
mixer.music.play()
|
|
self.current_song = song_name
|
|
return f"Reproduciendo: {song_name}"
|
|
except Exception as e:
|
|
return f"Error al reproducir: {e}"
|
|
|
|
def stop_song(self):
|
|
"""Detiene la reproducción de música."""
|
|
mixer.music.stop()
|
|
self.current_song = None
|
|
return "Reproducción detenida."
|