Açılış sesi çaldıktan sonra yönlendirme nasıl sağlarım
Mrb kişi login olduktan sonra açılış sesi çalsın ardından ana dizine yönlendirsin istiyorum
Bu şekilde açılış sesi çalıyor
$.player=function (ses='uyari.wav',tip='wav') {
$('.player').html('<audio autoplay="autoplay"><source src="ses/'+ses+'" type="audio/'+tip+'" /></audio>');
};
$.ajax({
url: 'ajx/login.php',type: 'POST',data: data,
success: function (data) {
if(data==1){
// bu şekilde ses çalıyor
$.player('open.mp3','mp3');
}
}
});
Fakat bu şekilde ses çalmadan hemen anasayfaya yönlendiriyor
$.ajax({
url: 'ajx/login.php',type: 'POST',data: data,
success: function (data) {
if(data==1){
//Ama böyle ses çalmadan direk yönlendiriyor
$.player('open.mp3','mp3');
window.location.href='./';
}
}
});
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
Hocam illa player ile oynatmak zorunda mısınız ki. Düz Audio nesnesi ile oynayın. play() metodu promise döndürüyor, ses bitince yönlenir
let audio = new Audio('open.mp3')
audio.play().then(() => {
location.href = './'
})
.catch(err => {
console.log(err)
})
Merhaba Dostum kodunu şu şekilde şekilde düzenlersen problemin ortadan kalkacaktır.
5 saniye ses çalıcak ve ardından istediğin sayfaya gidicektir.
Saniyeyi sen istediğin gibi ayarlayabilirsin. Ben örnek olması açısından 5000ms = 5sn olarak ayarladım.
$.ajax({
url: 'ajx/login.php',type: 'POST',data: data,
success: function (data) {
if(data==1){
$.player('open.mp3','mp3');
setTimeout(function(){location.href="./"} , 5000);
}
}
});
$.player fonksiyonunu şöyle değiştir
$.player = function(ses='uyari.wav',tip='wav', callback) {
$('.player').html('<audio autoplay="autoplay"><source src="ses/'+ses+'" type="audio/'+tip+'" /></audio>');
$('.player audio')[0].on('ended', callback);
};
ve şöyle kullan;
$.player('open.mp3','mp3', function() {
window.location.href='./';
});