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 import json
from PyQt6.QtGui import QIcon, QAction from PyQt6.QtGui import QIcon, QAction
from PyQt6.QtWidgets import QApplication, QMenu, QSystemTrayIcon from PyQt6.QtWidgets import QApplication, QMenu, QSystemTrayIcon
from PyQt6.QtMultimedia import QAudioOutput, QMediaPlayer
from PyQt6.QtCore import QUrl
app = QApplication([]) app = QApplication([])
app.setQuitOnLastWindowClosed(False) app.setQuitOnLastWindowClosed(False)
# Adding an icon # Adding an icon
@@ -11,15 +13,40 @@ tray.setIcon(icon)
tray.setVisible(True) tray.setVisible(True)
# Creating the options # Creating the options
menu = QMenu() menu = QMenu()
# añadimos las opciones del json # añadimos el json
f = open("radios.json", "rb") f = open("radios.json", "rb")
jsonObject = json.load(f) jsonObject = json.load(f)
f.close() f.close()
opciones = list()
for i in jsonObject:
opciones.append(i["nombre"]) # reproductor
for num in opciones: player = QMediaPlayer()
menu.addAction(num) 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 # To quit the app
quit = QAction("Quit") quit = QAction("Quit")
quit.triggered.connect(app.quit) quit.triggered.connect(app.quit)