Partage
  • Partager sur Facebook
  • Partager sur Twitter

impossible de lancer une musique audio ( chrome)

Sujet résolu
    25 janvier 2019 à 21:49:30

    Bonjour j'ai crée une musique que je dois ajouter à mon projet. J'ai fais des tests pour savoir si mon " application web " fonctionne sur tous les navigateur web. Et là ça fonctionne bien sur firefox, edge et mieux sous internet explorer mais malheureusement le navigateur web le plus utilisé (google Chrome m'envoie une erreur. Je sais qu'il y a des solutions sur le net mais honnêtement je ne comprends ce qu'il faut faire https://bugs.chromium.org/p/chromium/issues/detail?id=593273  
    	var music = new Audio("song.mp3");
    	music.load();
    
        music.addEventListener('ended', function() {
        this.currentTime = 0;
        this.play();
    	}, false);
    
    	music.play();

     et voici l'erreur js :

     Uncaught (in promise) DOMException

    Merci de votre aide !



    -
    Edité par meteor141421356237 26 janvier 2019 à 7:43:32

    • Partager sur Facebook
    • Partager sur Twitter

    Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

      25 janvier 2019 à 23:11:43

      https://jsfiddle.net/fkq3vn6u/

      Aucun soucis avec ton code...

      -
      Edité par unchained77 25 janvier 2019 à 23:13:19

      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2019 à 7:29:33

        Avez-vous essayer avec google chrome ?

        Je sais que ce code est fonctionnel mais même le code jsfiddle ne marche pas avec chrome. J'ai donc réinstaller mais rien à y faire. Toujours la même erreur. 

        <button onclick="playAudio()" type="button">Play Audio</button>
        <button onclick="pauseAudio()" type="button">Pause Audio</button> 
        
        
        
        var music = new Audio("https://www.w3schools.com/jsref/horse.mp3");
        music.load();
         
        music.addEventListener('ended', function() {
        this.currentTime = 0;
        this.play();
        }, false);
         
        music.play();

        PS: si  je me peux me permettre il y a une petite erreur dans le code jsfiddle, il n'y a aucune fonction nommée play ou pauseAudio dans votre scripte. Ca vous donc générer une erreur.

        Merci de votre aide !:lol:

        • Partager sur Facebook
        • Partager sur Twitter

        Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

          26 janvier 2019 à 10:24:29

          Bonjour MeteoreMeteore

          Regarde je pense que c'est la que tu trouvera la cause de "Uncaught (in promise) DOMException" sous chrome

          https://googlechrome.github.io/samples/play-return-promise/

          • Partager sur Facebook
          • Partager sur Twitter
          Découvrez les Css avec la zonecss.fr
            26 janvier 2019 à 21:03:48

            var music = new Audio("https://www.w3schools.com/jsref/horse.mp3");
            console.log(music);
            var p = music.play();
            p.then((event) => {
            	console.log(event);
            }).catch((err) => {
            	console.log(err.message);
            });

            Même en gérant la promise, il tape directement dans le catch alors des fois ça marche et des fois ça marche pas alors va savoir, est ce qu'il faut gérer l'event load ?  c'est à vérifier ^^

            PS: il y a en effet une nouvelle sécurité google chrome depuis sa dernière version

            https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

            -
            Edité par unchained77 26 janvier 2019 à 21:18:48

            • Partager sur Facebook
            • Partager sur Twitter
              27 janvier 2019 à 10:39:42

              Bonjour unchained77 ,

              Chrome , t'oblige a avoir une action de clic pour déclencher l'audio

              C'est ce que l'exemple te montre, quand il fait le then catch il  affiche un bouton

              • Partager sur Facebook
              • Partager sur Twitter
              Découvrez les Css avec la zonecss.fr
                27 janvier 2019 à 20:02:48

                Désolé pour le retard ( j'étais un peu occupé! ) . Effectivement quand j'ai vu ce code je ne l'ai même pas testé puis que ce oblige d'activer manuellement la musique (quelques choses que je ne veux pas faire:)). Sinon existe-il des méthodes ou c'est impossible ? Merci en tout cas.
                • Partager sur Facebook
                • Partager sur Twitter

                Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                  28 janvier 2019 à 2:57:00

                  Hello,

                  comme l'a dit @AliasDmc, pour que la musique ce lance il faut une action de l'internaute.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 janvier 2019 à 6:35:48

                    Mais pourquoi alors que tous les autres navigateurs web le font ?:colere2:

                    Quand est-ce qu'ils vont se mettre tous en accord.

                    Merci à vous tous pour vos explications.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                      7 février 2019 à 2:47:17

                      tous les autres navigateurs ?

                      Aurais tu un exemple de site ou une bande sonore (donc une balise audio) se lance automatiquement sans l'intervention de l'utilisateur (donc un clique) et qui n'est pas de controle audio (pause, play, stop ...) ?

                      De memoire tout les navigateurs font ca (ou tend a faire ca) : empecher l'audio de se lancer tout seul.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 février 2019 à 8:46:01

                        excusez-moi mais je pense que nous avons tous connu ce moment de gêne où une pub qui se lance simplement sans l'intervention de l'utilisateur, parfois des jeux en ligne, les exemples il y en a plein. Par ailleurs si vous ne me croyez pas il suffit de prendre mon code et de le tester sur un navigateur web tel que firefox, Et si vous me le permettez il suffisait juste de lire tous les commentaires de ce sujet voici un lien

                        https://jsfiddle.net/fkq3vn6u/


                        que unchained 77 avait mis en ligne. J'adore l’entraide, nous sommes avant tout une communauté, mais de là à intervenir sans raison, avant même d'avoir lu tous les commentaires, pourquoi vous intervenez ? (Si tous les sites ne font ça, c'est qu'il y a une raison. Il faut penser avant tout à l'expérience utilisateur, déjà que la loi oblige de mettre une bannière pour l'utilisation de cookies, si en plus de ça sur chaque site il y avait une musique, vous imaginez l'utilisateur? Il va fuir le site)

                        PS: désolé si je suis un peu violent mais je n'aime pas les personnes qui au lieu de proposer une solution aux problème essaye simplement de supprimer le problème.

                        -
                        Edité par meteor141421356237 9 février 2019 à 8:47:12

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                          10 février 2019 à 11:29:10

                          Chaque développeur de navigateur fait ses choix en fonction de ce qu'il considère être le mieux sur un sujet. Ce qui n'est pas un standard est laissé au choix des devs. Ça n'est pas standardisé, donc chacun fait ce qu'il veut, et c'est normal. Ça n'est pas un dû, ils n'ont aucune obligation autre que respecter les standards du mieux possible.

                          Et non, tous ne réagissent pas ainsi, et montrer un code sur une version précise d'un navigateur (Firefox) n'est pas une preuve. Le choix concernant l'audio a régulièrement été modifié dans les divers navigateurs pour essayer de déterminer ce qui est le mieux, et il n'y a pas de consensus pour l'instant.

                          -
                          Edité par Genroa 10 février 2019 à 11:34:28

                          • Partager sur Facebook
                          • Partager sur Twitter
                          /!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
                            13 février 2019 à 20:36:37

                            Je suis désespéré, j'ai précisé dès le départ que mon code fonctionne sur tous les navigateurs web (sauf chrome et donc je demande quel serait le code pour ce navigateur vu que je n'ai rien trouvé sur le net). merci à vous!!!!!!!

                            Genroa a écrit:

                            Chaque développeur de navigateur fait ses choix en fonction de ce qu'il considère être le mieux sur un sujet. Ce qui n'est pas un standard est laissé au choix des devs. Ça n'est pas standardisé, donc chacun fait ce qu'il veut, et c'est normal. Ça n'est pas un dû, ils n'ont aucune obligation autre que respecter les standards du mieux possible.

                            Et non, tous ne réagissent pas ainsi, et montrer un code sur une version précise d'un navigateur (Firefox) n'est pas une preuve. Le choix concernant l'audio a régulièrement été modifié dans les divers navigateurs pour essayer de déterminer ce qui est le mieux, et il n'y a pas de consensus pour l'instant.

                            -
                            Edité par Genroa 10 février 2019 à 11:34:28


                            MeteoreMeteore a écrit:

                            Bonjour j'ai crée une musique que je dois ajouter à mon projet. J'ai fais des tests pour savoir si mon " application web " fonctionne sur tous les navigateur web. Et là ça fonctionne bien sur firefox, edge et mieux sous internet explorer mais malheureusement le navigateur web le plus utilisé (google Chrome m'envoie une erreur. Je sais qu'il y a des solutions sur le net mais honnêtement je ne comprends ce qu'il faut faire https://bugs.chromium.org/p/chromium/issues/detail?id=593273  

                            	var music = new Audio("song.mp3");
                            	music.load();
                            
                                music.addEventListener('ended', function() {
                                this.currentTime = 0;
                                this.play();
                            	}, false);
                            
                            	music.play();

                             et voici l'erreur js :

                             Uncaught (in promise) DOMException

                            Merci de votre aide !



                            -
                            Edité par MeteoreMeteore 26 janvier 2019 à 7:43:32





                            -
                            Edité par meteor141421356237 13 février 2019 à 20:37:33

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                              14 février 2019 à 17:58:10

                              Bonjour MeteoreMeteore,

                              Je t'ai donné le lien, chrome n'accepte pas le lancement automatique de la musique il faut une action utilisateur

                              ps) Firefox va bientôt faire de même

                              AliasDmc a écrit:

                              Bonjour MeteoreMeteore

                              Regarde je pense que c'est la que tu trouvera la cause de "Uncaught (in promise) DOMException" sous chrome

                              https://googlechrome.github.io/samples/play-return-promise/



                              • Partager sur Facebook
                              • Partager sur Twitter
                              Découvrez les Css avec la zonecss.fr
                                14 février 2019 à 19:17:14

                                Salut

                                donc je demande quel serait le code pour ce navigateur vu que je n'ai rien trouvé sur le net

                                On a très bien compris ta demande, et la réponse t'a été donnée plusieurs fois : il n'y a pas de code qui te permette de faire ça. Chrome bloque cette possibilité, et il n'y a rien à faire qui puisse passer outre cette interdiction.

                                -
                                Edité par EmmanuelBeziat 14 février 2019 à 19:17:36

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                                  14 février 2019 à 21:11:27

                                  Désolé,  je suis stupide j'avais oublié qu'on pouvait faire ça en html, donc je vous donne le code ci-dessous qui fonctionne sur tous les navigateurs web et encore merci à vous 
                                  <embed src="song.mp3" loop="true" autostart="true" hidden="true" />
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                                    15 février 2019 à 10:02:33

                                    Libre à toi d'utiliser une balise prévue pour autre chose (les plugins), dépréciée qui va finir par être éliminée. Source MDN (ça ne change rien au fait que l'audio va finir petit à petit par être verrouillée sur tous les navigateurs modernes):

                                    "Il faut garder à l'esprit que la plupart des navigateurs ont dépréciés voire retirer la prise en charge des plugins. Aussi, mieux vaut ne pas utiliser sur <embed> si on souhaite qu'un site ou une application soit fonctionnelle sur un navigateur moyen."

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    /!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
                                      15 février 2019 à 13:09:29

                                      Non, embed n'est pas déprécié ; il fait partie de la spécification html5 et fait partie des "living standards". Il est utilisable pour tout "contenu externe ou interactif", et l'exemple le plus utilisé est la vidéo.

                                      Par contre, je suis vraiment surpris que Chrome ait laissé passer cette simple idée. Choisir de bloquer le son et oublier une simple balise…

                                      Du coup au temps pour moi : la solution est (pour l'instant) de contourner simplement le blocage de l'API audio en… n'utilisant pas l'API audio.

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                                        15 février 2019 à 18:09:15

                                        oui c'est étrange. Moi-même je me suis rendu compte de ça en regardant le code source d'une page web il y a deux jours c'est donc là ou j'ai eu cette idée.
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse.

                                        impossible de lancer une musique audio ( chrome)

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown