Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/04/2024, à 10:16

joko

Radio meuh

Il y a quelques temps, j'avais demandé (et obtenu :-)) comment on pouvait afficher le morceau qui passait à l'instant sur radio meuh. Avant ça se trouvait dans "https://www.radiomeuh.com/player/rtdata/tracks.json". Mais ça ne marche plus. Et comme je ne suis qu'un programmeur du dimanche je galère pour trouver. Si une bonne âme souhaiter se pencher sur ce pb. Merci.


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#2 Le 14/04/2024, à 10:27

krodelabestiole

Re : Radio meuh

ça a l'air de marcher :

[
  {
    "pos": 1,
    "imgSrc": null,
    "time": "18:01:56",
    "artist": "D.C. LaRue",
    "album": "The Best Of - Let Them Dance",
    "titre": "Cathedrals",
    "url": "",
    "expire": 163,
    "id": "19115"
  },
  {
    "pos": 2,
    "imgSrc": null,
    "time": "18:01:43",
    "artist": "Jingle",
    "album": " ",
    "titre": "radio us 1",
    "url": "",
    "expire": "",
    "id": "27672"
  }
]

En ligne

#3 Le 14/04/2024, à 22:01

Watael

Re : Radio meuh

ce fichier n'a pas changé depuis ce matin.
et, avant ce matin, depuis quand ce fichier n'a-t-il pas été mis à jour?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 15/04/2024, à 13:53

serged

Re : Radio meuh

tu peux toujours aller sur leur site, le morceau en cours est affiché en tête...


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#5 Le 15/04/2024, à 14:40

krodelabestiole

Re : Radio meuh

oui tu peux facilement parser ce html, il y a probablement d'autres solutions.

mais là pour t'aider il faudrait déjà qu'on connaisse le contexte et le but du truc.

En ligne

#6 Le 15/04/2024, à 16:06

Watael

Re : Radio meuh

"je crois que ça va pas être possible"
voici un extrait du HTML, qui devrait contenir les données de ce qui est joué :

    <div class="metadata">
        <h1 class="track-name">...</h1>
        <h2 class="track-artist">...</h2>
        <h3 class="track-album">...</h3>
    </div>

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 15/04/2024, à 16:51

soshy

Re : Radio meuh

C'est l'adresse du fichier json qui a changé. Utilise celui ci à la place : https://www.radiomeuh.com/storage/curtrack.json

Hors ligne

#8 Le 15/04/2024, à 19:16

krodelabestiole

Re : Radio meuh

bien joué !


Watael a écrit :

voici un extrait du HTML, qui devrait contenir les données de ce qui est joué

.. justement je trouve ça franchement simple à parser.


je viens de trouver ce site aussi, qui est peut-être plus intéressant :
https://timeuh-machine.com/
les sources sont là : https://github.com/tchapi/timeuh-machine

En ligne

#9 Le 15/04/2024, à 19:32

Watael

Re : Radio meuh

les points de suspension sont littéraux(?) : ce n'est pas moi qui ait modifié le HTML pour ne pas montrer le titre en cours de lecture.

le fichier indiqué par soshy est correctement mis à jour; yapuka le parser avec  jq (le JSON de ce fichier est très simple).


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#10 Le 15/04/2024, à 20:01

krodelabestiole

Re : Radio meuh

ah oui effectivement c'est seulement alimenté en javascript.

le code est minifié là : https://www.radiomeuh.com/build/js/app.js
et ce script fait bien appel à /storage/curtrack.json pour alimenter le html :

var re = document.querySelector(".track-cover img"),
    ie = document.querySelector(".track-name"),
    oe = document.querySelector(".track-artist"),
    se = document.querySelector(".track-album"),
    ae = document.querySelector(".track-time"),
    ue = 0,
    ce = !1;
function le() {
    var e;
    (ce = !0),
    (e = "/storage/curtrack.json"),
    $.getJSON(e, function (e) {
        var t, n, r;
        (t = e[0]),
            null == (n = t.imgSrc) && (n = "/img/disk_noname_75.png"),
            (re.src = n),
            (oe.textContent = t.artist),
            (ie.textContent = t.titre),
            (se.textContent = t.album),
            (ae.textContent = t.time),
            (ue = (r = t.expire) > "" ? r : 20),
            fe();
    }),
    window.setTimeout(function () {
        !1 !== ce && fe();
    }, 1e4);
}

En ligne