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 :

Audio HTML5, gestion du son crescendo et decrescendo


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut Audio HTML5, gestion du son crescendo et decrescendo
    Bonjour.

    Sur mon projet actuel en Ajax, une ambiance sonore est générée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <audio src="music.mp3" id="music" autoplay="activate" loop="activate">
    		Your browser does not support the audio element.
    	</audio>
    dans le footer et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //gestion de la musique
    	$('#musicOff').click(function() {
    		$('#music').get(0).pause();
    		$(this).toggleClass('active');
    		$('#musicOn').toggleClass('active');
    	});
    	$('#musicOn').click(function() {
    		$('#music').get(0).play();
    		$(this).toggleClass('active');
    		$('#musicOff').toggleClass('active');
    	});
    dans le fichier de script en Javascript.

    Sur l'une des pages, j'ai ajouté un player vidéo et j'ai fait en sorte que le son se coupe lors de la lecture de la vidéo et qu'il revienne une fois la vidéo sur pause ou terminée.
    Or pour que le changement de son soit moins aggressif, il m'est demandé de couper le son du site et de le faire revenir en crescendo. Et je ne trouve aucune info sur le net...

    Quelqu'un aurait-il une solution à me proposer ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    en incrémentait une variable vol dans une boucle?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('#music').get(0).volume=vol;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut
    quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $('#musicOn').click(function() {
            //$('#music').get(0).play();
    		$(this).toggleClass('active');
    		$('#musicOff').toggleClass('active');
    		for (i=0; i<=100; i++){
    			$('#music').get(0).volume=i;
    		};
        });
    ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#music').delay(500*i).get(0).volume=i;
    ???
    sinon avec un setInterval
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    <audio id="music" src="Sérénad.mp3" controls="controls"></audio>.

    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
    // console.log($("#music")[0]);
     
    var volMusicInterval = null,
    	volIncrease = function(){
    		var elem = $("#music")[0];
     
    		if (elem.volume < 1){
    			elem.volume = elem.volume + 0.20;
    		} else {
    			clearInterval(volMusicInterval);
    		}
     
    		// console.log(elem.volume);
    	};
     
    $("#music").click(function(){
    	this.volume = 0.20;
     
    	volMusicInterval = setInterval(volIncrease, 2000);
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut
    Ah merci danielhagnoul, le bouton on avec le crescendo marche nickel
    par contre j'ai essayé de suivre le même modèle pour le bouton off avec le decrescendo mais ça ne marche pas...
    un indice pour me mettre sur la voie ?

    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
    //gestion de la musique
    	var volMusicInterval = null,
    	volIncrease = function(){
    		var elem = $("#music")[0];
     
    		if (elem.volume < 1){
    			elem.volume = elem.volume + 0.20;
    		} else {
    			clearInterval(volMusicInterval);
    		}
     
    	};
    	volDecrease = function(){
    		var elem = $("#music")[0];
     
    		if (elem.volume > 99){
    			elem.volume = elem.volume - 0.20;
    		} else {
    			clearInterval(volMusicInterval);
    		}
     
    	};
    	$("#musicOn").click(function(){
    	$("#music")[0].volume = 0.20;
     
    	volMusicInterval = setInterval(volIncrease, 2000);
    	});
    	$("#musicOff").click(function(){
    	$("#music")[0].volume = 100;
     
    	volMusicInterval = setInterval(volDecrease, 2000);
    	});

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Audio] gestion carte son
    Par willard dans le forum Multimédia
    Réponses: 3
    Dernier message: 03/02/2009, 16h50
  2. Gestion de sons
    Par Ekinoks dans le forum C
    Réponses: 7
    Dernier message: 14/06/2005, 00h54
  3. [TP]Gestion du son
    Par JaVaCode dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 17/12/2004, 21h38
  4. Réponses: 4
    Dernier message: 14/12/2004, 17h37
  5. [flash mx]la gestion du son et de la video
    Par freshguicha dans le forum Flash
    Réponses: 5
    Dernier message: 03/04/2004, 12h50

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