j'utilise ce code et quand je vois le controls
je vois que la lecture automatique ne fonctionne pas.
<audio autoplay="true" src="music/lathe_di_chadar.mp3" type="audio/mp3" loop></audio>
et son ne fonctionne pas dans les appareils mobiles et fonctionne très bien dans le site Web. Quelqu'un peut-il me dire le problème à ce sujet?.
Merci et bien apprécié
Il n'y a aucun moyen de faire fonctionner automatiquement la lecture automatique dans les navigateurs mobiles. (Ce n'est pas autorisé)
Mais certaines astuces font cette chose.
Cliquez sur les liens ci-dessous pour voir quelques astuces
Vous pouvez jouer un son en utilisant l'API AudioContext
et en prenant la source à partir de n'importe quel ArrayBuffer
(c'est-à-dire: à partir d'un XMLHttpRequest
ou d'un File
)
window.addEventListener('load', function () {
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var source = audioCtx.createBufferSource();
var xhr = new XMLHttpRequest();
xhr.open('GET', 'audio-autoplay.wav');
xhr.responseType = 'arraybuffer';
xhr.addEventListener('load', function (r) {
audioCtx.decodeAudioData(
xhr.response,
function (buffer) {
source.buffer = buffer;
source.connect(audioCtx.destination);
source.loop = false;
});
source.start(0);
});
xhr.send();
});
Fonctionne sur Chrome et Firefox à la fois mobile et de bureau
Remarques importantes
Il convient de mentionner, IMO, que cette "astuce" peut en fait être considérée comme un bogue du navigateur et peut ne plus fonctionner à tout moment si le navigateur décide que cela rompt l'expérience utilisateur/devient une nuisance largement utilisée (comme les publicités).
Il convient également de mentionner que, au moins sur mon mobile et FF 54, le son sera toujours joué, même si votre mobile est en sourdine ...
Il convient également de mentionner que l'utilisateur peut définir le comportement autoplay
en fonction de ses souhaits et de ses besoins, soit via les options habituelles du navigateur, soit via le _ plus avancé about:config
page (autoplay
le comportement est défini par media.autoplay.enabled
et media.block-autoplay-until-in-foreground
préférences).
Donc forcer l'audio autoplay
est une mauvaise idée UX peu importe comment vous le faites.