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 :

Emettre un son en js avec setTimeout


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 215
    Points : 125
    Points
    125
    Par défaut Emettre un son en js avec setTimeout
    Bonjour à tous et à toute.

    J'ai un petit script en ajax qui vérifie dans ma bdd si j'ai une nouvelle commande toute les 20 secondes.

    Si il y a une nouvelle commande (champ de table à 1) un bouton avec un lien vers mes commandes s'affiche.

    J'aimerai aussi qu'un son retentisse pour éviter de devoir rester planté devant l'écran en attendant les commandes.

    J'ai un petit script en js qui émet un son et j'aimerai le mettre dans la fonction ajax qui affiche le div mais je n'y arrive pas.

    Je met mon script actuelle qui affiche la div et mon script js qui émet le son en espérant que quelqu'un puise m'aider.

    Ajax qui demande à la page charger.php de vérifier si il y a une nouvelle commande.
    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
    function writeInDiv(text){
        var objet = document.getElementById('div_nbr_commande');
        objet.innerHTML = text;
    }
    function ajax_verif_commande()
    {
        var xhr_commande = null;
     
        if (window.XMLHttpRequest || window.ActiveXObject) {
            if (window.ActiveXObject) {
                try {
                    xhr_commande = new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    xhr_commande = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                xhr_commande = new XMLHttpRequest();
            }
        } else {
            alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
            return null;
        }
        xhr_commande.open("GET", "http://mon-site/insert/charger.php", false);
        xhr_commande.send(null);
        writeInDiv(xhr_commande.responseText);
       setTimeout("ajax_verif_commande()", 20000);
    }
    page charger.php qui va interroger la bdd pour voir si il y a une nouvelle commande.
    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
    <?php
    header ("Cache-Control: no-cache");
    include('../includes/identifiants.php');
    $req_news_com = $bdd->prepare('SELECT new_com FROM commandes WHERE new_com = :nouv_com');
    $req_news_com->bindValue('nouv_com', '0', PDO::PARAM_INT);
    try
        {
            $req_news_com->execute();
            $total_req_news_com = $req_news_com->rowCount();
        }
    catch (PDOException $e)
        {
            echo 'Error : ' . $e->getMessage();
            die();
        }
    if ($total_req_news_com > 0)
        {
            echo'<div class="tabs_rouge">';
                echo'<a href="/admin/admin.php?page=aff_com" title="Il y a une nouvelle commande"><span>New Commande</span></a>';
            echo'</div>';
        }
    $req_news_com->closeCursor();
    ?>
    Page haut.php ou le bouton s'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo'<div id="div_nbr_commande"></div>';
    ?>
    et enfin mon script js qui émet un 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
    15
    16
    <script type="text/javascript">
                        soundManager.setup(
                            {
                                url: '<?php echo ROOTPATH ; ?>/swf/',
                                onready: function()
                                    {
                                        var mySound = soundManager.createSound(
                                            {
                                                id: 'aSound',
                                                url: '<?php echo ROOTPATH ; ?>/swf/ringtones.mp3'
                                            });
                                        mySound.play();
                                    },ontimeout: function()
                                        {}
                            });
                        </script><br><br>
    sans oublier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<script type="text/javascript" src="'.ROOTPATH.'/js/soundmanager2.js"></script>';
    Merci de votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 716
    Points : 1 602
    Points
    1 602
    Par défaut
    jour

    utilise la balise audio et pour jouer le son il suffi td'utilisé la méthode play()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <audio src="chemin.mp3" id="un_id"></audio>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector("#un_id").play()
    Plus vite encore plus vite toujours plus vite.

  3. #3
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    Bonjour et merci de ton aide.
    Ou je doit mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector("#un_id").play()
    est-ce qu'il faut pas ; à la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector("#un_id").play();
    J'ai essayé
    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
     
    function writeInDiv(text){
        var objet = document.getElementById('div_nbr_commande');
        objet.innerHTML = text;
    document.querySelector('#audioPlayer').play();//ici ça sonne tout le temps
    }
    function ajax_verif_commande()
    {
    	var xhr_commande = null;
     
    	if (window.XMLHttpRequest || window.ActiveXObject) {
    		if (window.ActiveXObject) {
    			try {
    				xhr_commande = new ActiveXObject("Msxml2.XMLHTTP");
    			} catch(e) {
    				xhr_commande = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    		} else {
    			xhr_commande = new XMLHttpRequest(); 
    		}
    	} else {
    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    		return null;
    	}
        xhr_commande.open("GET", "http://pozsushi.com/insert/charger.php", false);
        xhr_commande.send(null);
        writeInDiv(xhr_commande.responseText);
    document.querySelector('#audioPlayer').play();//ici ça sonne tout le temps aussi
       setTimeout("ajax_verif_commande()", 240000);

  4. #4
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 716
    Points : 1 602
    Points
    1 602
    Par défaut
    tu peut testé la presence de la chaine "Il y a une nouvelle commande" dans le responseTexte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(xhr_commande.responseText.indexOf("Il y a une nouvelle commande")!=-1){
     
    document.querySelector('#audioPlayer').play();
     
    }
    en javascript le point virgule est facultatif
    Plus vite encore plus vite toujours plus vite.

  5. #5
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    Merci beaucoup melka one.
    Tu es au top.

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

Discussions similaires

  1. [borland c++ 3.0]emettre du son
    Par gilleski2010 dans le forum C++
    Réponses: 2
    Dernier message: 28/12/2005, 00h14
  2. Capture de son au micro avec DirectSound
    Par Rémiz dans le forum DirectX
    Réponses: 4
    Dernier message: 21/12/2005, 20h00
  3. Capture de son au micro avec mciSendString
    Par Rémiz dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/12/2005, 17h49
  4. [Ultra débutant] Problème avec setTimeout()
    Par tails dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/05/2005, 16h05
  5. probleme avec setTimeout
    Par barbarello dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/11/2004, 13h45

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