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

HTML Discussion :

Ma balise <audio autoplay> ne fonctionne pas


Sujet :

HTML

  1. #1
    Membre éclairé
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 363
    Par défaut Ma balise <audio autoplay> ne fonctionne pas
    Yo,

    Je souhaite inclure un son en "fond d'écran" sur une page HTML toute simple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <audio autoplay loop>
        <source src="bruitage_train_vapeur.mp3" type="audio/mp3">
    </audio>
    mais le son ne démarre pas automatiquement.
    Si j'ajoute l'attribut "controls", j'ai mon contrôle et je peux tester que mon attribut "loop", lui, fonctionne.
    WTF, svp ?
    Merci.
    A++

    Page : http://www.didiermorandi.fr/cftt/

  2. #2
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Chez moi, ça marche sous ff, IE11 mais pas sous chrome.

  3. #3
    Membre éclairé
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 363
    Par défaut
    Ah, très juste Auguste, j'ai omis de dire que j'étais sous Chrome.
    Merci pour le test.

  4. #4
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Sous chrome, il faut peut-être ajouter un deuxième format tel qu' un audio.ogg

    Fais un essai...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <audio autoplay loop>
        <source src="tonfichier.mp3" type="audio/mp3">
        <source src="tonfichier.ogg" type="audio/ogg">
    </audio>
    ou .wav ...

    C'est curieux car le mp3 est supporté par chrome

  5. #5
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Et en javascript par une création dynamique de audio, ça ne marche pas ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var audio=document.createElement('audio');
         audio.setAttribute('src','tonfichier.mp3');
         audio.play();

    C'est curieux, il se lit bien manuellement mais ne se lance pas automatiquement sous chrome... donc un format différent ne réglera pas le problème...

  6. #6
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    la réponse est sûrement ici :https://www.futura-sciences.com/tech...-google-68637/
    Rq:
    Finalement, ta question devrait être : comment débloquer l'autoplay sous chrome ?
    Mais malheureusement, il n'y a pas de parade évidente...

    a+

  7. #7
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    En cherchant un peu, il est possible de contourner l'interdiction.
    L'idée est que si l'autoplay est bloqué au démarrage, il faut donc choisir un déclenchement de play() sur un autre événement que le onload...
    Et avec un petit boolean, on peut s'en sortir.

    Le problème, lequel choisir ?
    Sachant que le visiteur va forcément cliquer pour naviguer sur ton site, tu peux déclencher ça sur le mousedown :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     var audio=document.createElement('audio');
     var first=true;
          window.addEventListener('mousedown',onmousedown);
     
        function onmousedown(){
           if(!first) return;
           first=false;
           audio.src="tonaudio.mp3";
           audio.play();
        }

    Et là, tu contournes le problème...

  8. #8
    Membre éclairé
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 363
    Par défaut
    pas mal !

  9. #9
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Merci !
    J'ai bien tenté le coup de simuler un click avec :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var event = document.createEvent("MouseEvents");
     event.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
     window.dispatchEvent(event);   //etc

    mais tout autoplay ou play qui se lance au chargement de la page est systématiquement bloqué...

    salut

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2011, 19h26
  2. [HTML 5] la balise video ne fonctionne pas sous FF 3.6
    Par saw-next dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/04/2010, 18h06
  3. function javascript qui ne fonctionne pas dans la balise <body>
    Par typikal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/04/2008, 16h45
  4. balise script : javascript ne fonctionne pas
    Par Darkroro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/01/2008, 10h43

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