Audio Autoplay özelliği mobil cihazlarda çalışmıyor

0

Sayfa yüklendiğinde Javascript kullanarak arkaplanda müzik oynatıyorum. Fakat mobil tarayıcılardan girdiğimde müziği oynatmıyor. Biraz araştırınca hem Android hem de IOS da desteklenmediğini öğrendim. Başka bir yolu var mıdır?

dvrm dvrm (1)
6 yıl önce sordu

    Toplam 1 Cevap


    0

    Normalde mobil tarayıcıda otomatik olarak ses dosyası oynatamazsın. Bu engellenmiştir.

    Fakat mobil tarayıcıda muziği otomatik oynatmak için şöyle bir kod var:

    window.addEventListener('load', () => {				
    				let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
    				let xhr = new XMLHttpRequest();
    				xhr.open('GET', 'muzik.mp3');
    				xhr.responseType = 'arraybuffer';
    				xhr.addEventListener('load', () => {
    					let playsound = (audioBuffer) => {
    						let source = audioCtx.createBufferSource();
    						source.buffer = audioBuffer;
    						source.connect(audioCtx.destination);
    						source.loop = false;
    						source.start();
    
    						setTimeout(function () {
    							let t = document.createElement('p');
    							t.appendChild(document.createTextNode((new Date()).toLocaleString() + ': Sound played'));
    							document.querySelector('.output').appendChild(t);
    							playsound(audioBuffer);
    						}, 1000 + Math.random()*2500);
    					};
    
    					audioCtx.decodeAudioData(xhr.response).then(playsound);
    				});
    				xhr.send();
    			});

    Bir zamanlar bunu kullanmıştım. Sayfa açıldığında kullanıcıyı müziğe zorlamak doğru bir davranış değil. Bunu da unutma.

    Bir de yukarıdaki kod "bug" gibi düşünebilirsin. Günün birinde tarayıcılar tarafından bu engellenebilir.

    alattin alattin (17125)
    6 yıl önce cevaplandı

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol