se escuchan las emisoras
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user