Chaque fois que j'appelle la méthode de lecture sur un fichier audio, l'erreur d'erreur d'exception Dom Uncaught (promis) est une capture d'écran,
et voici ce que j'ai fait
function NotificationComment(cat,place) {
clearInterval(notify);
var url = $("#notification").val();
var val = $("#" + cat).val();
$.get(url, {type: cat, prev: val}, function (data) {
arrayData = JSON.parse(data);
$('#'+place).html(' ' + arrayData.count + ' ');
$("#"+cat).val(arrayData.count);
if(arrayData.sound==1) {
notify = setInterval(function () {
$("#audio")[0].play();
NotificationComment('G', 'commentNot');
}, 2000);
} else {
notify = setInterval(function () {
NotificationComment('G', 'commentNot');
}, 2000);
}
});
}
if($("#auth").val()==1) {
notify = setInterval(function () {
NotificationComment('G', 'commentNot');
}, 2000);
}
Merci
J'ai fini par trouver une solution grâce à @patrick Hund, j'ai pu comprendre le fait que la plupart des navigateurs interdisent la lecture automatique des sons et des vidéos, ce qui entraîne une exception de promesse. la notification arrive ici est mon code Js
function NotificationComment(cat,place){
clearInterval(notify);
var url = $("#notification").val();
var val = $("#"+cat).val();
$.get(url,{type:cat,prev:val},function (data) {
arrayData = JSON.parse(data);
$('#'+place).html(' '+arrayData.count+' ');
$("#"+cat).val(arrayData.count);
if(arrayData.sound==1){
$("#player")[0].click();
notify = setInterval(function () {
NotificationComment('G','commentNot');
}, 2000);
}else{
notify = setInterval(function () {
NotificationComment('G','commentNot');
}, 2000);
}
});
}
if($("#auth").val()==1) {
notify = setInterval(function () {
NotificationComment('G','commentNot');
}, 2000);
}
HTML
<audio id="myAudio">
<source src="{{url('assets2/audio/definite.mp3')}}">
</audio>
<button id="player" onclick="play()">Play</button>
<script>
var x = document.getElementById('myAudio');
function play() {
x.play();
}
</script>
Merci les gars
Ce sont aussi des solutions possibles. Allez à chrome: // flags/# autoplay-policy pour les utilisateurs de chrome et activez les paramètres de lecture automatique ou utilisez
audio=new Audio('audiosource');
audio.play();
en javascript;