IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Bouton interactif play and pause


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Par défaut Bouton interactif play and pause
    Bonjour,
    Je souhaiterais faire un bouton on/off sur mon site (dans le meme style que ce site la : http://www.powergloveaudio.com/)
    J'ai monté mon site sur wordpress, j'ai integré ma video avec un plugin Jquery du coup le son se coupe quand je clique sur l'image. Mais j'aurais besion que quand la musique se lance la bouton est sur play et quqnd je clique dessus la musique s'arrete et le bouton sur met sur pause
    Je ne sais pas si cela sera assez clair mais est-ce quelqu'un peut me guider
    Merci beaucoup

    J'ai essaye avec ce code la mais ca ne fonctionne pas je ne vois pas l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $('document').ready(function() {
     
          $('.js-mute-audio').click(function() {
    		$(this).toggleClass("is-mute");
    	}
      });
    Voici mon code Jquery pour lancer la video.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    (function ($, window) {
     
        // test for feature support and return if failure
     
        // defaults
        var defaults = {
            ratio: 16/9, // usually either 4/3 or 16/9 -- tweak as needed
            videoId: 'RxJG5rmQusQ', // toy robot in space is a good default, no?
            repeat: true,
            width: $(window).width(),
            wrapperZIndex: 99,
            playButtonClass: 'tubular-play',
            pauseButtonClass: 'tubular-pause',
            muteButtonClass: 'tubular-mute',
            volumeUpClass: 'tubular-volume-up',
            volumeDownClass: 'tubular-volume-down',
            increaseVolumeBy: 10,
            start: 0
        };
     
        // methods
     
        var tubular = function(node, options) { // should be called on the wrapper div
            var options = $.extend({}, defaults, options),
                $body = $('body') // cache body node
                $node = $(node); // cache wrapper node
     
            // build container
            var tubularContainer = '<div id="tubular-container" style="overflow: hidden; position: fixed; z-index: 1; width: 100%; height: 100%"><div id="tubular-player" style="position: absolute"></div></div><div id="tubular-shield" style="width: 100%; height: 100%; z-index: 2; position: absolute; left: 0; top: 0;"></div>';
     
            // set up css prereq's, inject tubular container and set up wrapper defaults
            $('html,body').css({'width': '100%', 'height': '100%'});
            $body.prepend(tubularContainer);
            $node.css({position: 'relative', 'z-index': options.wrapperZIndex});
     
            // set up iframe player, use global scope so YT api can talk
            window.player;
            window.onYouTubeIframeAPIReady = function() {
                player = new YT.Player('tubular-player', {
                    width: options.width,
                    height: Math.ceil(options.width / options.ratio),
                    videoId: options.videoId,
                    playerVars: {
                        controls: 0,
                        showinfo: 0,
                        modestbranding: 1,
                        wmode: 'transparent'
                    },
                    events: {
                        'onReady': onPlayerReady,
                        'onStateChange': onPlayerStateChange
                    }
                });
            }
     
            window.onPlayerReady = function(e) {
                resize();
                if (options.mute) e.target.mute();
                e.target.seekTo(options.start);
                e.target.playVideo();
            }
     
            window.onPlayerStateChange = function(state) {
                if (state.data === 0 && options.repeat) { // video ended and repeat option is set true
                    player.seekTo(options.start); // restart
                }
            }
     
            // resize handler updates width, height and offset of player after resize/init
            var resize = function() {
                var width = $(window).width(),
                    pWidth, // player width, to be defined
                    height = $(window).height(),
                    pHeight, // player height, tbd
                    $tubularPlayer = $('#tubular-player');
     
                // when screen aspect ratio differs from video, video must center and underlay one dimension
     
                if (width / options.ratio < height) { // if new video height < window height (gap underneath)
                    pWidth = Math.ceil(height * options.ratio); // get new player width
                    $tubularPlayer.width(pWidth).height(height).css({left: (width - pWidth) / 2, top: 0}); // player width is greater, offset left; reset top
                } else { // new video width < window width (gap to right)
                    pHeight = Math.ceil(width / options.ratio); // get new player height
                    $tubularPlayer.width(width).height(pHeight).css({left: 0, top: (height - pHeight) / 2}); // player height is greater, offset top; reset left
                }
     
            }
     
            // events
            $(window).on('resize.tubular', function() {
                resize();
            })
     
            $('body').on('click','.' + options.playButtonClass, function(e) { // play button
                e.preventDefault();
                player.playVideo();
            }).on('click', '.' + options.pauseButtonClass, function(e) { // pause button
                e.preventDefault();
                player.pauseVideo();
            }).on('click', '.' + options.muteButtonClass, function(e) { // mute button
                e.preventDefault();
                (player.isMuted()) ? player.unMute() : player.mute();
            }).on('click', '.' + options.volumeDownClass, function(e) { // volume down button
                e.preventDefault();
                var currentVolume = player.getVolume();
                if (currentVolume < options.increaseVolumeBy) currentVolume = options.increaseVolumeBy;
                player.setVolume(currentVolume - options.increaseVolumeBy);
            }).on('click', '.' + options.volumeUpClass, function(e) { // volume up button
                e.preventDefault();
                if (player.isMuted()) player.unMute(); // if mute is on, unmute
                var currentVolume = player.getVolume();
                if (currentVolume > 100 - options.increaseVolumeBy) currentVolume = 100 - options.increaseVolumeBy;
                player.setVolume(currentVolume + options.increaseVolumeBy);
            })
        }
     
        // load yt iframe js api
     
        var tag = document.createElement('script');
        tag.src = "//www.youtube.com/iframe_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
     
        // create plugin
     
        $.fn.tubular = function (options) {
            return this.each(function () {
                if (!$.data(this, 'tubular_instantiated')) { // let's only run one
                    $.data(this, 'tubular_instantiated', 
                    tubular(this, options));
                }
            });
        }
     
    })(jQuery, window);

    Voici mon code Jquery qui appelle ma fontion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('document').ready(function() {
    	var options = { videoId: 'RxJG5rmQusQ', start: 3 };
    	$('#wrapper').tubular(options);
    });


    Voici le code html

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <em class="mute-audio tubular-mute js-mute-audio is-mute" title="Mute audio">mute audio</em>



    Et enfin le css

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    .mute-audio {
        background: rgba(0, 0, 0, 0) url(".../images/audio-icon-2x.png") no-repeat scroll center center / 20px 20px;
        cursor: pointer;
        height: 20px;
        opacity: 0.6;
        position: absolute;
        text-indent: -9999px;
        transition: opacity 0.25s ease-in-out 0s;
        width: 20px;
        z-index: 1000;
    margin-left: 6px;
     margin-right: 6px;
    }
     
    .mute-audio:hover {
        opacity: 1;
    }
     
    .mute-audio .is-mute {
    background: rgba(0, 0, 0, 0) url(".../images/audio-icon-mute-2x.png") no-repeat scroll center center / 20px 20px;}

  2. #2
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    salut,
    Je n'ai rien vu dans ton code qui permet de couper le son de ta vidéo, mais si tu dis que ça fonctionne, c'est parfait.
    En ce qui concerne le changement d'image sur ton bouton, essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('.js-mute-audio').on('click',function() {
    		$(this).toggleClass("is-mute");
    	});

  3. #3
    Membre à l'essai
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Par défaut
    J'ai utilisé le plugin Jquery Tubular trouvé sur internet donc je n'ai pas vraiment mis la tete dans le code mais ca marche.
    par contre j'ai essayé le modif du code et ca ne marche toujours pas. Est ce que ca pourrait egalement venir du fichier ou je l'ai placé??

  4. #4
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Qu'est-ce qui ne marche pas ?
    L'arrêt du son ou le changement d'image ?
    Parce que rien de plus simple en jQuery que de faire un toggleClass sur un élément.

    https://jsfiddle.net/wtf/2vhm4ecd/

  5. #5
    Membre à l'essai
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Par défaut
    L’arrêt du son fonctionne bien c'est juste l'image qui ne chang pas quand le son est sur pause

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/11/2010, 09h56
  2. Réponses: 12
    Dernier message: 20/10/2010, 11h27
  3. problème creation bouton play et pause.
    Par kalif51 dans le forum C#
    Réponses: 1
    Dernier message: 07/05/2010, 00h06
  4. [OpenOffice][Tableur] Boutons interactif
    Par kolodz dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 15/07/2008, 04h14
  5. Bouton inactif Look And Feel
    Par helter_skelter dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 12/03/2006, 22h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo