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

Multimédia Java Discussion :

Préchargement d'Image (et de sons ?)


Sujet :

Multimédia Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut Préchargement d'Image (et de sons ?)
    Bonsoir,

    Je ne suis pas sûr de mon interprétation, mais j'ai l'impression que mes images ne sont chargées qu'une fois que je décide de les afficher. De la même manière pour les sons : ils sont chargés quand on veut les jouer.

    Mais de toute évidence, c'est contraignant, et désagréable. L'utilisateur aimerait bien que les images s'affichent quand elles doivent s'afficher et pas deux secondes après, et il aimerait bien également que les sons se jouent au bon moment, et pas la minute qui suit.

    Dans mon cas, c'est pour un applet que le problème se pose. Est-ce qu'il existe un moyen de charger les images, et les sons, dès le chargement de l'applet, ou dès l'appel de la fonction start ?


    Blustuff.

  2. #2
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    cf. http://www.developpez.net/forums/vie...ght=chargement

    sinon autre solution, au démarrage de ton appli tu charges les images et les sons les uns à la suite des autres (comme si tu voulais les afficher / les jouer), ça a pour effet de les mettre en mémoire.

    Inconvénient de la méthode : le démarrage est long (mais dans certains cas ça ne gène pas), je ne sais pas si le chargement prend beaucoup de place par rapport au reste ou si les fichiers reste en mémoire tout au long de l'exécution (à vérifier)
    • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
    • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
    • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.


    et ne sont pas des options...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Pour les images d'accord, mais pour les sons ? Ca risque de ne pas être très agréable d'entendre tous les sons en cacophonie au démarage de l'applet.

    Les images sont elles mises en cache ? Est-ce que la machine virtuelle peut utiliser le cache du navigateur ?

  4. #4
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Il me semble qu'au moment de l'affichage de l'image par l'applet (même si l'image n'est pas visible à l'utilisateur) elle est chargée soit en mémoie soit en cache.

    Pour les sons je n'ai jamais trop testé ces méthodes mais ça doit être possible soit de couper le son complètement (reste les droits limités de l'applet) soit et plus propablement de lancer les sons en lecture avec un son de 0.
    • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
    • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
    • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.


    et ne sont pas des options...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Merci : )

    J'ai tout de même un autre problème qui ne sera pas résolu : Parfois certaines images semblent être "mal" chargées, et ne s'affiche jamais. Il faut relancer l'applet pour pouvoir les voir. Peut on intercepter une erreur de chargement ?

  6. #6
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par JHelp
    public void attendreCharger(Image image)
    {
    if(image == null)
    {
    return;
    }
    while(image.getWidth(null)<0 || image.getHeight(null)<0)
    {
    //On attends un peu que l'image est avancée dans son chargement avant de regardé si elle est prete. Ne pas mettre un temps d'attente trop court, sinon y a risuque que le cpu soit plus souvent occupé à verifier que l'image est prete que d'avancer sur celle-ci
    try
    {
    Thread.sleep(123);
    }
    catch(Exception e)
    {
    }
    }
    }

    En fait tant que l'image n'est pas complétement chargée en mémoire, elle a des dimensions négative, d'où le code ci-dessus.
    A tester, mais si les dimensions se réduisent jusqu'à devenir égale ou supérieure à 0 il suffit que tu vérifies que ton image est chargée.

    Sinon ben... je ne vois pas, je ne suis pas un expert dans ce domaine
    • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
    • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
    • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.


    et ne sont pas des options...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Cette solution ne m'interesse pas, car elle ne sert à attendre. Si j'ai bien compris, les images peuvent être chargées de manières saynchrone. Ce qui est parfait. Je force donc leur chargement, sans attendre la fin :

    BufferedImage SurfaceInutile = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);
    Image I = getImage(this.getCodeBase(), NomImage);
    SurfaceInutile.getGraphics().drawImage(I, 0, 0, null);

    return I;
    Pour le son, je m'en suis largement inspiré :

    AudioClip Son = getAudioClip(getCodeBase(), NomSon);
    Son.play();
    Son.stop();

    return Son;
    Je ne m'avancerai pas sur la pertinence des choix, alors si vous avez des remarques, n'hésitez pas : p (Pour être franc, j'ai fait un peu au pif)

    Merci pour votre aide : )

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

Discussions similaires

  1. VIDEO sans image mais avec son
    Par funckfot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/06/2007, 11h38
  2. Création d'une image à partir de son code binaire
    Par thefaycal dans le forum ASP
    Réponses: 11
    Dernier message: 18/05/2006, 17h39
  3. [js] préchargement d'image
    Par TERRIBLE dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/03/2006, 21h58
  4. préchargement d'images
    Par Darkyl dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/02/2006, 11h45
  5. préchargement d'images
    Par clemsouz dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/11/2004, 13h47

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