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

JavaFX Discussion :

probleme avec minuteur


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Par défaut probleme avec minuteur
    Bonjour;
    j'ai fait un minuteur qui décompte les secondes et qui a la fin du décompte doit jouer un morceau de musique.ce minuteur fonctionne a partir de netbeans mais quand je fais marcher le jar sur l'ordinateur le decompte se fait correctement mais la musique ne joue pas a la fin!!!!!!!

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Teste si l'URL de ton fichier musical est correct quand tu exécutes ton JAR à l'extérieur.

    Et sans code impossible de tester quoi que ce soit.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Par défaut
    merci pour ta réponse;
    j'ai ouvert le jar avec winrar le fichier mp3 est bien avec les classes car j'ai inclus le mp3 avec le projet;voici mon 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
    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
    package mytimer2;
     
    import java.io.File;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.ResourceBundle;
    import javafx.animation.Animation.Status;
    import javafx.animation.KeyFrame;
    import javafx.animation.Timeline;
    import javafx.application.Platform;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.concurrent.Task;
    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Label;
    import javafx.scene.control.Spinner;
    import javafx.scene.control.SpinnerValueFactory;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javafx.scene.text.Font;
    import javafx.util.Duration;
     
    public class FXMLDocumentController implements Initializable {
        int min,sec,mintim,min1,sec1;
        String str;
         Timeline tl;
         Status st;
         Task tk;
        @FXML
        private Label label;
        @FXML
        Spinner spinner;
        @FXML
        private void handleButtonAction(ActionEvent event) throws Exception {
            mintim=(int) spinner.getValue();
            min1=mintim;
          decompte();
            label.setText(str);
     
        }
     
        @Override
        public void initialize(URL url, ResourceBundle rb) {
            List<Integer> list=new ArrayList<>();
            ObservableList<Integer> oli = FXCollections.observableList(list);
            oli.addAll(0,1,5,10,15,20,25,30,35,40,45,50,55,60);
               SpinnerValueFactory<Integer> svf=new SpinnerValueFactory.ListSpinnerValueFactory<>(oli);
               spinner.setValueFactory(svf);
           Spinner<Integer> lspin=new Spinner<>(oli);   
               sec1=60;
               label.setFont(new Font(30.0));
        }
         public String calcul(int mintim){
       String str1 ,str2,str3,str4;
         String str;
         if(min1==mintim){
              min1--;
             str2=Integer.toString(min1);
              if(min1<10)            
                 str1="0"+str2+":";
              else
                   str1=str2+":";
     
         }else{
             sec1--;  
             str2=Integer.toString(min1);
           if(min1<10)            
                 str1="0"+str2+":";
              else
                   str1=str2+":";              
         }
         str3=Integer.toString(sec1);
             if(sec1<10)            
                 str4="0"+str3;
              else
                   str4=str3;
     
     
         if(sec1==0){
             if(min1>0){
      min1--;
      sec1=60;
           str2=Integer.toString(min1);           
                 str1="0"+str2+":";  
                 str4=Integer.toString(sec1);
         }else{
             str1="00"+":";
         str4="00";
         }
         }
         str=str1+str4;
         return str;
      }
          public void decompte()throws Exception{
     
          label.setText(calcul(mintim));
     
                runLater(Duration.millis(1000), () -> {
     
                label.setText(calcul(mintim));
                if(min1==0&&sec1==0){
                    tl.stop();
                   playmusic();
                }
                });
                        }
     
     public void playmusic(){
           Media media;
         MediaPlayer mp;
         media=new Media(new File("AudioTrack16.mp3").toURI().toString());
         mp=new MediaPlayer(media);
         mp.play();
     }
        private Timeline runLater(Duration delay, Runnable action) {
            tl = new Timeline(new KeyFrame(delay, ae -> action.run()));
          //  tl.cycleCountProperty().setValue(mintim*60);
            tl.cycleCountProperty().setValue(Timeline.INDEFINITE);
            tl.play();
            return tl;
        }
            }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Par défaut
    j'ai oublié de signaler que quand le minuteur; lancé en jar ;arrive a 1 pour passer a 0 ie temps est plus long que pour les autres passages;ceci ne se produit pas quand il est lancé depuis l'ordinateur;j'ai un probleme :comment lancer une methode a la fin de la timeline(ou d'une task avec timer)

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    media=new Media(new File("AudioTrack16.mp3").toURI().toString());
    Tu utilises un accès direct par File alors qu'il faut utiliser un accès par le ClassLoader
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    media=new Media(getClass().getResource("AudioTrack16.mp3").toExternalForm()); // En supposant que le fichier se trouve dans le même package que la classe.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Par défaut
    bonjour; Grand merci ça marche

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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