J'utilise AngularAudiorecorder (angularjs) depuis 4 ans et avec la dernière mise à jour chrome, je reçois l'erreur suivante:
getPermission: function () { navigator.getUserMedia({ "audio": true }, html5HandlerConfig.gotStream, html5HandlerConfig.failStream); }, init: function () { service.isHtml5 = true; var AudioContext = window.AudioContext || window.webkitAudioContext; if (AudioContext && !html5AudioProps.audioContext) { html5AudioProps.audioContext = new AudioContext(); } if (localStorage.getItem("permission") !== null) { //to get permission from browser cache for returning user html5HandlerConfig.getPermission(); } } };
3 Réponses :
à l'intérieur de la fonction qui commence l'enregistrement. P> p>
le faire lorsque l'utilisateur appuie sur une touche ou touchez n'importe quel bouton P>
si (audio_context.state! == 'exécuter') {
audio_context.Resume ();
} code> p>
Ce problème n'est rien qui ne s'applique qu'aux angulaires; C'est beaucoup plus général et a à voir avec le fait que les navigateurs modernes ont désactivé les sons de jeu automatique (jusqu'à ce que l'utilisateur soit interagi 'suffisamment ») de sorte que vous n'êtes pas ennuyé par des sons de la page Web que vous venez d'ouvrir. p>
Voir cette ancienne question ici . p>
J'avais exactement le même message "non autorisé à démarrer", et je n'utilise pas angulaire; J'essayais simplement d'avoir JavaScript jouer un son (programmatique) avant d'interaction utilisateur "suffisante". Ce que j'ai fait pour résoudre ce problème, c'était de prendre soin de ce que Bien de voir que vous avez déjà résolu le problème. Probablement (Attention: non testé) Une solution alternative serait de retarder le chargement et / ou l'initialisation du code de l'enregistreur jusqu'à ce que l'utilisateur ait appuyé sur un bouton ou donc. P> ... = nouvel audiocontext () code> est exécuté uniquement une fois que l'utilisateur a appuyé sur un bouton ou interagi avec un curseur (natif). La réponse acceptée à une ancienne question ci-dessus suggère essentiellement la même stratégie. P>
Avez-vous vu cette? développeurs.google.com/web/updates/2017/ 09 / ...
Oui, j'ai essayé plusieurs fois de mettre en œuvre cela et a échoué.