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

JavaScript Discussion :

Lecture mp3 indomptable


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 36
    Points : 39
    Points
    39
    Par défaut Lecture mp3 indomptable
    Bonjour,
    j'ai besoin de lire un fichier mp3 à l' envoi d'un formulaire.
    J'ai fais un petit serveur python sur raspberry avec flask.

    Le côté serveur gère un compte en banque. De l'argent est déduit de l'utilisateur lorsqu'il achète
    quelque-chose.
    Côté client, en appuyant sur le bouton "acheter", un bref son mp3 est lu pour rassurer le bon déroulement de l' opération.

    Mon problème : le mp3 est lu en excès dès l' affichage de la page html , avant même que l'utilisateur n'est eu le temps de clicker sur un bouton. De plus , chaque rafraîchissement enclenche la lecture automatique du mp3.

    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
    var compteur = 0
     
    function javazik()
    {
        if (compteur == 0){
            document.getElementById('zik').volume= 0;
            document.getElementById('zik').play();
     
     
        } else {
            document.getElementById('zik').volume= 1;
            document.getElementById('zik').play();
     
        }
    }
     
    function addOnClick()
    {
      var x = document.getElementById("echo");
      x.addEventListener("click", javazik, false);
      compteur += 1;
    }
    window.onload=addOnClick;
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <audio id="zik" src="static/sound/Coin_Drop.mp3" width="320" height="240"></audio>
    <form action=""  id="mon_formulaire" method="post">	
        <div>   
            <p><button id="echo" type="submit" >Acheter !</button><p>
        </div>
    </form>

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    C'est bizarre, ça ne devrait pas lire automatiquement si tu ne mets pas l'attribut autoplay sur l'élément audio. C'est le seul code que tu as qui manipule cet élément ?

    Sinon tu peux ajouter l'attribut src dans la fonction javazik seulement, comme ça tu es sûr que le son ne sera pas lu avant d'être rentré dans cette fonction. Par contre tu perdras le préchargement du son.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 36
    Points : 39
    Points
    39
    Par défaut
    merci sylvain pour ton aide , mais ça ne marche pas. Le problème est plus grave que ça j'ai l' impression.

    J' ai du manqué une règle qui m' aveugle dans mon expérience. J' ai l' impression que ce que je désire est le B-A BA est je suis incapable d'en trouver une illustration ...

    Je me suis inscris à des jeux gratuit par navigateur puis avec un ctrl+U mais ça ressemble à rien.

    J'ai regardé des exemples en jquery et en ajax, mais mon manque d' experience avec ces technologies
    n'ont pas aboutie.
    Est il possible de communiquer de la page web vers le serveur sans poster un formulaire ?
    Puis je obtenir sinon le résultat attendu via un GET à la place d'un POST ?

    Quelle raison y aurait il pour que le fait disposer un formulaire s'accompagne d'une lecture de mp3
    dès l' affichage ? c'est comme si ça se postait tout seul dès l' affichage bien que le serveur ne calcul rien à l' affichage?

    J'ai même essayé de coller du preventdefault mais ça bloque le son complement !

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Ça fait beaucoup de questions sans rapport avec le sujet initial, mais bon je vais tacher d'y répondre

    Citation Envoyé par buffalo974 Voir le message
    merci sylvain pour ton aide , mais ça ne marche pas.
    ne dis plus jamais "ça ne marche pas" sans préciser qu'est-ce que tu as essayé et quel résultat tu as obtenu. C'est très agaçant de lire ça sans avoir aucun détail. Si tu as retiré l'attribut src alors il est impossible que l'audio ait été lu avant d'entrer dans la fonction.

    Citation Envoyé par buffalo974 Voir le message
    Je me suis inscris à des jeux gratuit par navigateur puis avec un ctrl+U mais ça ressemble à rien.
    Tu t'attendais à quoi, un tutoriel commenté :p tous ces codes sont compressés en production, ils ne divulguent pas leurs sources à tout le monde. Et même si c'était le cas, je ne vois pas ce que tu pourrais en tirer, ça serait chercher une aiguille dans une botte de foin

    Citation Envoyé par buffalo974 Voir le message
    J'ai regardé des exemples en jquery et en ajax, mais mon manque d' experience avec ces technologies
    n'ont pas aboutie.
    Est il possible de communiquer de la page web vers le serveur sans poster un formulaire ?
    Puis je obtenir sinon le résultat attendu via un GET à la place d'un POST ?
    Tu n'as pas dû te renseigner beaucoup sur ajax vu que c'est exactement à ça que ça sert

    Citation Envoyé par buffalo974 Voir le message
    Quelle raison y aurait il pour que le fait disposer un formulaire s'accompagne d'une lecture de mp3
    dès l' affichage ?
    aucune a priori, c'est pour ça que je t'ai demandé si tu avais un autre code JS susceptible de manipuler l'élément audio.

Discussions similaires

  1. Lecture mp3 événementielle
    Par buffalo974 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2015, 20h39
  2. Erreur Media Player - lecture mp3
    Par Manu0086 dans le forum Android
    Réponses: 8
    Dernier message: 18/06/2013, 16h17
  3. Bug Sound.play() : lecture mp3 inachevée
    Par line6 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 24/03/2008, 11h28
  4. problème firefox et lecture mp3 en popup
    Par saoman dans le forum Firefox
    Réponses: 1
    Dernier message: 01/03/2008, 15h15
  5. Problème lecture Mp3
    Par Galip dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/12/2007, 20h55

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