Bonjour,
j'ai programmer un petit lecteur qui utilise les donnée de SDK Soundcloud. Tout fonction bien.

Sauf que si quelqu'un clique plusieurs fois sur le bouton play la tune va jouer plusieurs fois. Je ne veux pas ce comportement.

Quand la tune est terminer j'affiche le bouton play.

Le SDK charge automatiquement le script SoundManger 2.

// Joue la tune qui la tune 123
SC.stream("/tracks/123",function(track){
            $('a#play').click(function(e){
                                var btnplay = $('div.famousplayer-button-play');
                var btnstop = $('div.famousplayer-button-pause');
                btnplay.hide();
                btnstop.show();
                track.play();
            });
            $('a#pause').click(function(e){
                                var btnplay = $('div.famousplayer-button-play');
                var btnstop = $('div.famousplayer-button-pause');
                track.pause();
            });
        });

Merci de votre aide

4 réponses


lakamark
Auteur
Réponse acceptée

Merci Pewel-OutOfNutella

J'ai trouvé ma solution dans la documentation de SoundManger 2.

Je pense que tu peux passer par une variable (globale ou autre), de style "isPlaying", que tu met à true une fois que tu as cliqué sur play.
En passant dans ton évènement click du bouton play, tu vérifies que ton "isPlaying" est à faux. S'il est à faux, tu joue le son, sinon tu ne fait rien

lakamark
Auteur

Je ne comprend pas ce que tu veux dire par mettre une variable globale.

Une variable que tu déclares hors de toutes fonctions ou de tout objet afin que tu puisse l'utiliser partout.

Si tu déclare une variable dans une fonction, elle ne sera pas visible de l'éxtérieur.

Exemple ici