Skip to content
README.md 2,88 ko
Newer Older
![WebRadioPi](dcts/images/rw-logo-mini.png)
Daniel SAZERAT's avatar
Daniel SAZERAT a validé
# WebRadioPi
Lecteur de radios internet sur un écran en 800x480.
Daniel SAZERAT's avatar
Daniel SAZERAT a validé

Ce projet est en cours de développement.

Il n'est pas opérationnel à ce jour.

Pour toute information : thorfin89@free.fr

![WebRadioPi](dcts/images/WebRadioPi.png)

Interface au 15/01/2023


### SOLUTIONS :

### Importation des radios au format CSV :

```python
def radios_display(self):  # 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
        # print(radios_dico)
    nb_radios = (len(radios_list))  # détermine le nombre de radios (dictionnaires)
    print(radios_list[3]['Nom'])    # extrait le nom de la 4ème radio
    for c in range(nb_radios):      # affiche la liste des 14 radios
        print(radios_list[c]['No'], ":", radios_list[c]['Nom'])

### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D

Avec Tkinter, vous pouvez utiliser la méthode `command` pour  spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant  un bouton sous Tkinter:

```python
import tkinter as tk

def function_to_call(variable):
    print(variable)

root = tk.Tk()

button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable))
button.pack()

variable = "Some value"

root.mainloop()
```

Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument

Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.


#### Liste de radios :

- http://fluxradios.blogspot.fr

#### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3

#### Bouton ON/OFF
- https://www.youtube.com/watch?v=DMpq0Cot8YU
- https://www.youtube.com/watch?v=n1ucrkly2nc

#### Afficher les informations sur la radio
- https://github.com/oaubert/python-vlc/issues/72

#### Fichiers csv
- https://www.youtube.com/watch?v=sgUSSa7N9ec
#### Doc tkinter :
- http://tkinter.fdex.eu/index.html
- http://pascal.ortiz.free.fr/contents/tkinter/tkinter/
#### Streams radios :
- https://github.com/riencroonenborghs/streaming_radio/blob/master/assets/data/stations.json