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

Flash Discussion :

[FLASH MX] Contrôle du volume


Sujet :

Flash

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 24
    Points
    24
    Par défaut [FLASH MX] Contrôle du volume
    Bonjour à tous,

    Je désire baisser et augmenter le son de "tous mes sons" sur mon animation.

    Il y a bien stopAllSounds......mais comment relancer les sons ???

    Par la suite, mes recherches m'ont mené vers l'utilisation de l'objet Sound avec le code suivant au début de mon animation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var MonSon = new Sound();
    var n = new loadVar();
    n=0;
    puis je place sur un bouton le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    on (release) {
    	if (n=0) {
    		MonSon.setVolume(0);
    n=1;
    	}
    }
    Aucun résultat.

    Merci pour votre aide.

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Probleme de chemin!

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    on (release) { 
       if (n=0) { 
          _parent.MonSon.setVolume(0); 
    n=1; 
       } 
    }
    Sinon fais un trace(MonSon._target) et un trace(tonBouton) pour en deduire le bon chemin.

    sinon ce serait encore mieux d'abandonner cette syntaxe (Flash5) pour la syntaxe pointée (MX / MX2004)
    Faut adapter le chemin là aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    tonBouton.onRelease = function() {
       if (n=0) { 
          MonSon.setVolume(0); 
       n=1; 
       } 
    }
    (Code à placer sur la frame contenant ton bouton - pas sur le bouton )

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Merci freegreg pour ta réponse.

    Concernant le pb de chemin, j'avoue que je suis un peu perdu

    Voici les réponses obtenues sur les Trace avec la méthode Flash 5 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    trace(MonSon._target) = undefined
    trace(BtSon) = _level0.BtSon
    Je t'avoue que cela ne m'aide pas plus


    Pour la version MX (qui me parait plus simple)..........c'est pas mieux.......je le place pourtant bien sur ma frame sur laquelle commencent à apparaître mes différents boutons (dont celui du son) sur ma scène principale.

    Je ne sais plus quoi faire..merci pour ton aide

  4. #4
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    le trace(MonSon._target) = undefined est normal, je suis planté MonSon n'est pas un clip donc pas de target

    Sinon pour revenir à ton pb :

    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var monSon = new Sound();
    monSon.loadSound("monFichier.mp3", true);
    monSon.onLoad = function(ok) {
      if(ok) {
        monSon.play();
      } else {
        trace("KO");
      }
    }
     
    monBouton.onRelease = function() {
      monSon.setVolume(0);
    }
    Si ca marche chez toi, essaye de l'adapter
    (Je précise cela car j'ai chez MX2004, j'ai bien converti en format MX mais on ne sais jamais! Je te rassure chez moi ça marche)

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    ça marche super bien avec un son stocker dans le même répertoire que le swf...........

    Ne voulant pas stopper 1 son mais tout les sons de l'animation (musique d'ambiance, voix off, bruits sur les boutons etc....) j'ai transformé ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var monSon = new Sound(); 
    monSon.loadSound(); 
    monSon.onLoad = function(ok) { 
      if(ok) { 
        monSon.play(); 
      } else { 
        trace("KO"); 
      } 
    } 
     
    BtSon.onRelease = function() { 
      monSon.setVolume(0); 
    }
    .............certes très peu (monSon.loadSound();) et c'est impeccable.

    J'essaie maintenant d'obtenir l'effet inverse avec ce bouton càd rétablir le son quand il est coupé et inversement.
    Voici mon test de code :
    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
    var n = new loadVar();
    var monSon = new Sound(); 
    monSon.loadSound(); 
    monSon.onLoad = function(ok) { 
      if(ok) { 
        monSon.play();
    	n = 1;
      } else { 
        trace("KO"); 
      } 
    } 
     
    BtSon.onRelease = function() { 
      if (n=1) {
      	monSon.setVolume(0);
     	n = 0;
      }
      if (n=0) {
    	monSon.setVolume(100);
     	n = 1;
      }
    }
    L'arrêt du son fonctionne bien encore mais le rétablissement du son n'est pas Ok.

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Complément d'information :

    en fait, avec des traces sur ma variable "n", je m'aperçois qu'elle prend bien la valeur 1 au début et bien la valeur 0 lorsque le son se coupe.......

    ........ensuite impossible de rentrer dans le second if (n=0).... pour remettre mon volume à 100

  7. #7
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Citation Envoyé par Chucky69
    Complément d'information :

    en fait, avec des traces sur ma variable "n", je m'aperçois qu'elle prend bien la valeur 1 au début et bien la valeur 0 lorsque le son se coupe.......

    ........ensuite impossible de rentrer dans le second if (n=0).... pour remettre mon volume à 100


    = opérateur d'affectation
    == opérateur d'égalité
    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BtSon.onRelease = function() { 
      if (n==1) { 
         monSon.setVolume(0); 
        n = 0; 
      } 
      if (n==0) { 
       monSon.setVolume(100); 
        n = 1; 
      } 
    }
    Sinon tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BtSon.onRelease = function() { 
      if (monSon.getVolume() == 0) { 
         monSon.setVolume(100); 
      } else {
         monSon.setVolume(0); 
      } 
    }

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Merci freegreg pour ton aide

    Ta seconde solution fonctionne très très bien.

    A+

  9. #9
    Membre régulier
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 279
    Points : 106
    Points
    106
    Par défaut
    Comment peut-on appliquer le controle du volume à TOUS LES SONS ?

    Car j'ai dans ma bannière "titre" du site, j'ai mis un clip qui tourne en boucle et qui , toutes les 10 secondes utilise des sons différents. Comment faire pour mettre le volume à 0 de tous ces sons ? (autrement dit, j'aimerais laisser le choix à l'utilisateur de stopper les sons qu'il entend , sachant que le clip tourne en boucle.) ????????

  10. #10
    Membre régulier
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 279
    Points : 106
    Points
    106
    Par défaut
    J'ai essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AllSounds.setVolume(0);
    Mais ca ne marche pas GRRRRR

    Comment dois-je faire ? Car les sons, ils ne sont pas dans une image clé sous forme d'action script, je les ai fait glissé dans l'image clé sans liaison ! Et si je dois tout remodifier cela va prendre du temps ... comment faire ?

  11. #11
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var AllSounds:Sound = new Sound();
    AllSounds.setVolume(0);
    ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var AllSounds:Sound = new Sound(leClipOuTuAsGlisseTesSons);
    AllSounds.setVolume(0);

  12. #12
    Membre régulier
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 279
    Points : 106
    Points
    106
    Par défaut
    Citation Envoyé par freegreg
    Salut,

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var AllSounds:Sound = new Sound();
    AllSounds.setVolume(0);
    ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var AllSounds:Sound = new Sound(leClipOuTuAsGlisseTesSons);
    AllSounds.setVolume(0);
    Aucun des 2 ne marche. J'ai des sons dans un clip, et dans mon animation principale aussi (sur le même calque). Comment faire pour STOPPER LE VOLUME de mon animation titre.swf ?

  13. #13
    Membre régulier
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 279
    Points : 106
    Points
    106
    Par défaut
    J'ai résolu le systeme ...

    Sur la premiere image clé de mon calque j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var sons = new Sound();
    sons.loadSound();
    De cette manière, il place tous les sons joués dans la variable "sons".

    et sur le calque où se trouve mon bouton pour éteindre les sons , j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    boutonsoundoff.onRelease = function() {
    	sons.setVolume(0);
    }
    de cette maniere, il règle le volume de la variable "sons" (donc de tous les sons) à 0.

    Merci freegreg, merci à tout ceux qui ont participé au post.

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

Discussions similaires

  1. [BPW] Contrôle du volume de la carte SB16
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 16/11/2010, 21h08
  2. Contrôle du volume indépendant
    Par Crayon dans le forum C++Builder
    Réponses: 10
    Dernier message: 28/04/2010, 07h19
  3. Contrôle de volume
    Par yosyl dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 25/05/2008, 23h47
  4. Contrôle du volume
    Par mateuil dans le forum Débuter
    Réponses: 1
    Dernier message: 24/04/2008, 21h17
  5. Réponses: 10
    Dernier message: 08/09/2007, 14h33

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