se escuchan las emisoras

This commit is contained in:
2023-07-06 20:07:31 +02:00
parent dcd7a1b0bd
commit 85e1458065

View File

@@ -1,6 +1,8 @@
import json
from PyQt6.QtGui import QIcon, QAction
from PyQt6.QtWidgets import QApplication, QMenu, QSystemTrayIcon
from PyQt6.QtMultimedia import QAudioOutput, QMediaPlayer
from PyQt6.QtCore import QUrl
app = QApplication([])
app.setQuitOnLastWindowClosed(False)
# Adding an icon
@@ -11,15 +13,40 @@ tray.setIcon(icon)
tray.setVisible(True)
# Creating the options
menu = QMenu()
# añadimos las opciones del json
# añadimos el json
f = open("radios.json", "rb")
jsonObject = json.load(f)
f.close()
opciones = list()
for i in jsonObject:
opciones.append(i["nombre"])
for num in opciones:
menu.addAction(num)
# reproductor
player = QMediaPlayer()
audio_output = QAudioOutput()
player.setAudioOutput(audio_output)
audio_output.setVolume(100)
# escuchar la radio
def escuchar(url):
player.stop()
player.setSource(QUrl.fromLocalFile(url))
player.play()
# Asigna las acciones de las emisoras
for i, item in enumerate(jsonObject):
print(i, item)
globals()['action%s' % i] = QAction(item["nombre"])
globals()['action%s' % i].triggered.connect(
lambda checked, url=item["url"]: escuchar(url)
)
menu.addAction(globals()['action%s' % i])
# TODO: Agregar opciones, pausar, parar, y continuar
# (cuando esté pausado se pueda continuar y cuando esté reproduciendo
# que se puede pausar) y con iconos
# To quit the app
quit = QAction("Quit")
quit.triggered.connect(app.quit)