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)
1 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 (13485)
1 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