Chargement en cours docs/solutions.md +0 −2 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -161,8 +161,6 @@ radio_flux = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flu player.set_media(radio_flux) # on charge le flux player.play() # on lance l'écoute de la radio info_flux = player.event_manager() # on récupère l'information du flux memo_info = "" # pour mémoriser le titre while True: # boucle principale Chargement en cours main.py +9 −4 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -4,6 +4,7 @@ # import ---------------------------------- from vlc import Instance from vlc import Media, MediaPlayer, Meta ''' installer le paquet python-vlc : $ sudo pip3 install python-vlc Chargement en cours @@ -21,11 +22,13 @@ class Radio(Pupitre): def radio_flux(self, flux): print(flux) media = self.instance.media_new(flux) self.player.set_media(media) self.media = self.instance.media_new(flux) self.player.set_media(self.media) self.radio_play() self.now_playing_info() def radio_play(self): self.radio_on = True self.player.play() def radio_pause(self): Chargement en cours @@ -33,6 +36,7 @@ class Radio(Pupitre): def flux_stop(self): self.player.stop() self.radio_on = False def volume(self, vol_potar): # on récupère la valeur du potentiomètre de volume Chargement en cours Chargement en cours @@ -74,7 +78,8 @@ class Radio(Pupitre): print(self.num_radio_selected) # changement de page automatique if (self.num_radio_selected + 1) % 20 == 0 and self.num_radio_selected != -1: # si le numéro est un multiple de 20 if ( self.num_radio_selected + 1) % 20 == 0 and self.num_radio_selected != -1: # si le numéro est un multiple de 20 self.page_back() if self.num_radio_selected == -1: Chargement en cours poub/info_now_playing.py +3 −5 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -2,17 +2,15 @@ from time import sleep from vlc import Media, MediaPlayer, Meta player = MediaPlayer() radio_flux = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flux player.set_media(radio_flux) # on charge le flux media = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flux player.set_media(media) # on charge le flux player.play() # on lance l'écoute de la radio info_flux = player.event_manager() # on récupère l'information du flux memo_info = "" # pour mémoriser le titre while True: # boucle principale flux_info = radio_flux.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel flux_info = media.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel if flux_info and flux_info != memo_info: # si le titre donné et est différent de celui mémorisé info_display = flux_info[4:len(flux_info) - 3] # on 'nettoie' le titre (caractères au début et à la fin) Chargement en cours pupitre.py +26 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -7,8 +7,10 @@ import tkinter as tk from tkinter import ttk, Scale, HORIZONTAL from PIL import Image, ImageTk import csv from vlc import Media, MediaPlayer, Meta mute = False # le son n'est pas coupé au démarrage radio_on = False # mémorise le fait d'écouter une radio ou pas bg_color, bg_color_light = "#206080", "#2F6F8F" # couleur de fond # Chargement du fichier CSV contenant les informations : Nom, Pays, Type, Url, Logo Chargement en cours Chargement en cours @@ -110,6 +112,10 @@ class Pupitre: self.lbl_radio_selected = ttk.Label(self.menu, background=bg_color_light) self.lbl_radio_selected.place(width=225, height=225, x=33, y=33) # affiche les infos sur le titre en cours d'écoute self.now_playing = ttk.Label(self.menu, background=bg_color_light) self.now_playing.place(width=240, height=100, x=30, y=300) # potentiomètre de volume # - on charge la configuration du volume sauvegardée lecture = open("webradiopi.cfg", "r") Chargement en cours Chargement en cours @@ -220,5 +226,24 @@ class Pupitre: self.lbl_info_radio.place(width=270, height=30, x=10, y=270) self.lbl_info_radio.config(bg=bg_color) def now_playing_info(self): if self.radio_on: flux_info = self.media.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel if flux_info: # on 'nettoie' le titre (caractères au début et à la fin) info_display = flux_info[4:len(flux_info) - 3] if info_display[0:3] == " - ": # si l'info commence par un tiret (pub, commentaire...) info = "** " + info_display[3:] + " **" else: info = info_display self.now_playing.config(text=info) self.root.after(2000, self.now_playing_info) def boucle(self): # boucle principale de tkinter # self.root.after(2000, self.now_playing_info) self.root.mainloop() webradiopi.cfg +1 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff 38 No newline at end of file 42 No newline at end of file Chargement en cours
docs/solutions.md +0 −2 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -161,8 +161,6 @@ radio_flux = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flu player.set_media(radio_flux) # on charge le flux player.play() # on lance l'écoute de la radio info_flux = player.event_manager() # on récupère l'information du flux memo_info = "" # pour mémoriser le titre while True: # boucle principale Chargement en cours
main.py +9 −4 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -4,6 +4,7 @@ # import ---------------------------------- from vlc import Instance from vlc import Media, MediaPlayer, Meta ''' installer le paquet python-vlc : $ sudo pip3 install python-vlc Chargement en cours @@ -21,11 +22,13 @@ class Radio(Pupitre): def radio_flux(self, flux): print(flux) media = self.instance.media_new(flux) self.player.set_media(media) self.media = self.instance.media_new(flux) self.player.set_media(self.media) self.radio_play() self.now_playing_info() def radio_play(self): self.radio_on = True self.player.play() def radio_pause(self): Chargement en cours @@ -33,6 +36,7 @@ class Radio(Pupitre): def flux_stop(self): self.player.stop() self.radio_on = False def volume(self, vol_potar): # on récupère la valeur du potentiomètre de volume Chargement en cours Chargement en cours @@ -74,7 +78,8 @@ class Radio(Pupitre): print(self.num_radio_selected) # changement de page automatique if (self.num_radio_selected + 1) % 20 == 0 and self.num_radio_selected != -1: # si le numéro est un multiple de 20 if ( self.num_radio_selected + 1) % 20 == 0 and self.num_radio_selected != -1: # si le numéro est un multiple de 20 self.page_back() if self.num_radio_selected == -1: Chargement en cours
poub/info_now_playing.py +3 −5 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -2,17 +2,15 @@ from time import sleep from vlc import Media, MediaPlayer, Meta player = MediaPlayer() radio_flux = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flux player.set_media(radio_flux) # on charge le flux media = Media("http://live.leanstream.co/CJOTFM-MP3") # on définit le flux player.set_media(media) # on charge le flux player.play() # on lance l'écoute de la radio info_flux = player.event_manager() # on récupère l'information du flux memo_info = "" # pour mémoriser le titre while True: # boucle principale flux_info = radio_flux.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel flux_info = media.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel if flux_info and flux_info != memo_info: # si le titre donné et est différent de celui mémorisé info_display = flux_info[4:len(flux_info) - 3] # on 'nettoie' le titre (caractères au début et à la fin) Chargement en cours
pupitre.py +26 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -7,8 +7,10 @@ import tkinter as tk from tkinter import ttk, Scale, HORIZONTAL from PIL import Image, ImageTk import csv from vlc import Media, MediaPlayer, Meta mute = False # le son n'est pas coupé au démarrage radio_on = False # mémorise le fait d'écouter une radio ou pas bg_color, bg_color_light = "#206080", "#2F6F8F" # couleur de fond # Chargement du fichier CSV contenant les informations : Nom, Pays, Type, Url, Logo Chargement en cours Chargement en cours @@ -110,6 +112,10 @@ class Pupitre: self.lbl_radio_selected = ttk.Label(self.menu, background=bg_color_light) self.lbl_radio_selected.place(width=225, height=225, x=33, y=33) # affiche les infos sur le titre en cours d'écoute self.now_playing = ttk.Label(self.menu, background=bg_color_light) self.now_playing.place(width=240, height=100, x=30, y=300) # potentiomètre de volume # - on charge la configuration du volume sauvegardée lecture = open("webradiopi.cfg", "r") Chargement en cours Chargement en cours @@ -220,5 +226,24 @@ class Pupitre: self.lbl_info_radio.place(width=270, height=30, x=10, y=270) self.lbl_info_radio.config(bg=bg_color) def now_playing_info(self): if self.radio_on: flux_info = self.media.get_meta(Meta.NowPlaying) # on récupère l'info sur le titre actuel if flux_info: # on 'nettoie' le titre (caractères au début et à la fin) info_display = flux_info[4:len(flux_info) - 3] if info_display[0:3] == " - ": # si l'info commence par un tiret (pub, commentaire...) info = "** " + info_display[3:] + " **" else: info = info_display self.now_playing.config(text=info) self.root.after(2000, self.now_playing_info) def boucle(self): # boucle principale de tkinter # self.root.after(2000, self.now_playing_info) self.root.mainloop()
webradiopi.cfg +1 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff 38 No newline at end of file 42 No newline at end of file