Commit cb784c24 authored by Thorfin89's avatar Thorfin89

Essais sur la récupération des logos des radios

parent f7d284e1
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta
def _media_cb(event, *unused):
# XXX callback ... never called
print(event)
p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1)
# media = Media("http://direct.francemusique.fr/live/francemusique-midfi.mp3")
# media.get_mrl()
p.set_media(media)
p.play()
e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)
# define the meta data to show
meta = {Meta.Album: None,
Meta.Genre: None,
Meta.NowPlaying: None}
while True: # loop forever
# XXX using MediaParseFlag.local is not any different
media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout
# XXX media.get_parsed_status() always returns .skipped
for k in meta.keys():
v = media.get_meta(k)
if v != meta[k]:
# print("{} - {}".format(k, v))
print("{}".format(v))
meta[k] = v
sleep(2)
......@@ -5,11 +5,12 @@ No,Pays,Type,Nom,Url,Logo
4,France,Informations,France Info,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.jpeg
5,France,Généraliste,France Inter,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png
6,France,Généraliste,Europe 1,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.jpeg
7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,
7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,radio.png
8,DE,Celtic,Live Ireland ch1,http://66.90.73.250:8080,live-ireland.png
9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,
10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,
11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,
9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,radio.png
10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,radio.png
11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,radio.png
12,DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk,
13,DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK,
14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,
\ No newline at end of file
14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,radio.png
15,FR,Classic,Frane Musique,http://direct.francemusique.fr/live/francemusique-midfi.mp3,
\ No newline at end of file
......@@ -5,7 +5,7 @@
# import ----------------------------------
import csv
from rw_pupitre import Pupitre
from pupitre import Pupitre
# installer le paquet python-vlc : sudo pip3 install python-vlc
from vlc import Instance
......
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta
import csv
def _media_cb(event, *unused):
# XXX callback ... never called
print(event)
logos = [["", "", "", "", ""],
["", "", "", "", ""],
["", "", "", "", ""],
["", "", "", "", ""]]
p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1)
# media.get_mrl()
p.set_media(media)
p.play()
def radios_display(): # récupération de la liste des radios (+infos)
with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
radios_list = csv.DictReader(radios_file)
radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires
compteur = 0
for y in range(4):
for x in range(5):
try:
if radios_list[compteur]['Logo'] != "":
logos[y][x] = radios_list[compteur]['Logo']
else:
logos[y][x] = "radio.png"
except:
logos[y][x] = "blank.png"
compteur += 1
e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)
for c in range(4):
print(logos[c])
# define the meta data to show
meta = {Meta.Album: None,
Meta.Genre: None,
Meta.NowPlaying: None}
while True: # loop forever
# XXX using MediaParseFlag.local is not any different
media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout
# XXX media.get_parsed_status() always returns .skipped
for k in meta.keys():
v = media.get_meta(k)
if v != meta[k]:
# print("{} - {}".format(k, v))
print("{}".format(v))
meta[k] = v
sleep(2)
radios_display()
# Projet : WebRadioPi
# Fichier : rw_pupitre.py
# Fichier : pupitre.py
# Auteur : Daniel SAZERAT (thorfin89@free.fr)
# import ----------------------------------
......@@ -28,6 +28,8 @@ class Pupitre:
self.icon_sound = tk.PhotoImage(file="icons/sound_up.png")
self.icon_mute = tk.PhotoImage(file="icons/mute.png")
self.logo = tk.PhotoImage(file="images/radio.png")
self.zones()
# noinspection PyTypeChecker
......@@ -87,10 +89,13 @@ class Pupitre:
# affichage des vignettes des radios
for x_logos in range(5):
for y_logos in range(4):
self.logo = tk.PhotoImage(file="images/radio.png")
btn_logo = ttk.Button(zone_logos, image=self.logo, command=self.switch_sound)
btn_logo = tk.Button(zone_logos, image=self.logo, command=self.switch_sound)
btn_logo.place(width=100, height=100, x=x_logos*100, y=y_logos*100)
def switch_sound(self):
# bascule on/off du son
global mute
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment