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

Interfaces Graphiques en Java Discussion :

Activer et désactiver le son dans une application Java


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Activer et désactiver le son dans une application Java
    bonsoir
    j'ai une petite application java dans laquel j'ai des sons d'ambiance.
    je veux ajouter un bouton dans ma bar de menu pour permettre d'activer ou de désactiver le son a volonté ! j'explique:
    j'ai une fonction faire_son() qui j'appel quand je clique sur deux touches du clavier et ce que je veux faire c'est de trouver un moyen de désactiver le son quand je clique sur les mémes touche du clavier !
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je pars du principe que tu utilise une abstract action.

    Rajoute un attribut booléen ("sonOn" par exemple). Dans ton abstract action, tu testes le booléen avant de déclencher. Si il est à "vrai", tu vires le son et tu passes le booléen à "faux", sinon, tu le mets. Quant à la méthode faireSon(), tu fais en sorte qu'elle passe ce booléen à "vrai".
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    bonjour
    merci pour ta réponse
    pour moi j'étulise un ActionListener, j'ai pas bien compris comment virer le son une fois le boolean est vrais ?
    voici ma méthode faire_son()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    AudioClip arme;
    //
    public void faire_son(String son) {
    	try {
                      arme=Applet.newAudioClip(new URL("file", "", son));
    	     }
          catch (MalformedURLException e)
              {
    	System.err.println("Cannot load sound. " + e);
              } 
     
     arme.play();
    }

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Si tu ne veux toucher qu'a un seul endroit (cad dans ta methode faire_son) tu peux toujours faire ainsi :

    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
    AudioClip arme;
    //
    public void faire_son(String son) {
    if (joueleson==true)
    {
    	try {
                      arme=Applet.newAudioClip(new URL("file", "", son));
    	     }
          catch (MalformedURLException e)
              {
    	System.err.println("Cannot load sound. " + e);
              } 
     
     arme.play();
    }
    }
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    bonjour
    merci pour ta réponse !!
    ça marche très bien
    par contre j'ai un autre souci un peu défirent c'est que quand tous les son sont activé l'applicaton se bloque ! je pense c'est un probléme de mémoire !
    etje sais pas comment contourner ça

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut que tu joues tes sons (jouer un Son est une entrée/sortie, donc une tâche lourde) en dehors du Thread graphique (aka Event Dispatch Thread ou EDT). Pour celà tu as juste à juste à englober ton appel dans la méthode run d'un Runnable, créer un Thread en lui passant le Runnable en paramètre et à lancer le thread avec un start.

    Soit dit en passant, la lecture de l'article suivant te sera plus qu'utile pour comprendre les interactions entre Swing/EDT et Threads/Taches lourdes:

    http://gfx.developpez.com/tutoriel/j...ing-threading/
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

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

Discussions similaires

  1. [AUDIO]Integrer son dans une application
    Par guxou dans le forum Multimédia
    Réponses: 0
    Dernier message: 14/04/2009, 19h00
  2. comment inserer de son dans une application
    Par zaidoune dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/11/2008, 01h56
  3. [C#/ASP.NET]Jouer un son dans une application web
    Par byphantom dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/06/2007, 15h28
  4. Comment Jouer du son dans une application
    Par condor_01 dans le forum Multimédia
    Réponses: 3
    Dernier message: 28/07/2006, 10h26
  5. Réponses: 1
    Dernier message: 26/05/2006, 11h11

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