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 événementielle


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 événementielle
    Bonjour,

    je suis pythoniste et je fait un petit serveur avec Flask, et j'utilise Brython pour remplacer javascript.



    Après un click sur un bouton, j' arrive à afficher un message équivalent à alert() chez javascript. Voici le template d' accueil :

    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
    <html>
    <head>
    <meta charset="iso-8859-1">
     
    <title> Mon titre</title>
     
        <!-- Bootstrap core CSS -->
        <link href="./static/bootstrap.min.css" rel="stylesheet">
     
        <script src="/static/js/brython.js"></script>
     
     
     
    </head>
    <body onLoad="brython()">
    <script type="text/python">
    from browser import document as doc
    from browser import alert
     
     
     
    def echo(ev):
        alert("Salut %s !" %doc["zone"].value)
     
    doc["echo"].bind('click', echo)
     
     
    </script>
     
    <p>Vous vous appelez : <input id="zone"><button id="echo">click !</button><p>
    </body>
    </html>
     
    <!-- jQuery (necessary for Bootstraps JavaScript plugins) -->
        <script src="./static/jquery-2.1.0.min.js"></script>
        <!-- Bootstrap core JavaScript
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script src="./static/bootstrap.min.js"></script>
        <!-- Brython scripts
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script type="text/javascript" src="./static/brython_dist.js"></script>
     
    <br />
    <h3>La date d'aujourd'hui est : {{ la_date }}</h3>
    <br />
     
     
    </body>
    </html>
    Je voudrai déclencher la lecture d'un mp3 en même temps que l'affichage de l' alerte.

    Pour produire la musique , il existe des librairies comme pygame ou autres mais il y a des contraintes de version de python , des histoires de 32/64 bits, du portage linux / windows etc etc.

    Je voudrai savoir si il existe une astuce passant par HTML5 seul : j' avais pensé à torturer une balise <audio>

    dans le template, et la mettre de taille 0 pixel. Pourriez vous m' aider pour la syntaxe de sorte que la lecture ne

    se fasse qu'en cas de clique sur un bouton banal, qui adopterait donc le comportement du bouton play.

    Si je suis obligé de faire un import de javascript, quel bout de code minimaliste et facile à intégrer dans mon code ?

    Je suis réfractaire à la syntaxe JS mais j'ai découvert une vidéo grafikart sur coffeescript qui pourrait aider à me réconcilier, ma demande est elle également faisable avec coffeescript ? Si oui à quoi cela ressemblerait il ici ?

  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
    Python est un bon langage mais dans ton cas, ça reste du JavaScript sous le capot. Tu peux utiliser CoffeeScript, Dart, TypeScript ou n'importe quel autre langage transpilant en JS, c'est toujours du JS à la fin parce que c'est la seule chose que le navigateur comprenne. Donc la question de la faisabilité ne se pose pas en dehors du périmètre de JavaScript.

    Un élément <audio> caché et un appel à document.querySelector('audio').play(); en JavaScript devraient faire l'affaire. A transposer dans le langage de ton choix.

    Pense aussi à corriger ton document HTML, à en juger par tout le rouge de la coloration syntaxique il y a de gros soucis.
    One Web to rule them all

  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 c'est parfait et indolore !
    Code html : 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
    <html>
    <head>
    <meta charset="iso-8859-1">
    <title> Mettre un titre ici</title>
        <!-- Bootstrap core CSS -->
        <link href="./static/bootstrap.min.css" rel="stylesheet">
    	<script src="/static/js/brython.js"></script>
    </head>
    <body onLoad="brython()">
    <script type="text/python">
    from browser import document as doc
    from browser import alert
    def echo(ev):
        alert("Salut %s !" %doc["zone"].value)
    doc["echo"].bind('click', echo)
    </script>
    <h3>
    <p>
        Afficher une alerte et un son mp3 apres un click<br /><br />
        <img src="static/images/mon_image.jpg" alt="Photo de depart" />
    </p>
    </h3>
    <!-- jQuery (necessary for Bootstraps JavaScript plugins) -->
        <script src="./static/jquery-2.1.0.min.js"></script>
        <!-- Bootstrap core JavaScript
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script src="./static/bootstrap.min.js"></script>
        <!-- Brython scripts
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script type="text/javascript" src="./static/brython_dist.js"></script>
    <div>	
    	<audio id="demo" src="ma_musique.mp3" width="320" height="240"></audio>
    	<p>Vous vous appelez : <input id="zone"><button id="echo" onclick="document.getElementById('demo').play()">click !</button><p>
    </div>
    </body>
    </html>

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

Discussions similaires

  1. Lecture mp3 indomptable
    Par buffalo974 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/03/2015, 01h43
  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