HTML

HTML Arkaplana Müzik Ekleme

Web sitenize gelen ziyaretçilere arkaplanda ses dinletmek isteyebilirsiniz. Bu yazıda arka plana ses ekleme, eklenen sesin diğer sayfalarda da çalmasını sağlama bir çok soruya cevap bulacaksınız.

 

Yazının devamında HTML belgesine adım adım ses eklemeyi öğrenip ardından diğer sayfalarda nasıl çalmaya devam edeceğimizi öğreneceğiz. Ses belgesini ekleme ve çalışma için gerekli tüm işlemler HTML ile yapılacak, diğer sayfalarda da kaldığı yerden devam etme için de JavaScript kullanacağız.

HTML Belgesine Ses Ekleme

HTML belgesine ses eklemek için audio etiketi kullanılır. <audio> etiketinin src niteliğine çalışacak ses dosyasının URL adresini alır. Aşağıdaki basit örnekte ses1.mp3 isimli dosya eklenecek ve otomatik olarak çalışacaktır. Otomatik çalması için autoplay niteliğini kullandık.

Etiket eklendiğinde ekranda hiç bir değişiklik olmayacaktır. Eğer player kontrolünü ekranda görmek isterseniz. controls niteliğini ekleyerek sayfayı yenileyin. Ekranda Audio nesnesinin kontrolü belirecektir.

Çıktı:

arkaplana ses ekleme
arkaplana ses ekleme

 

ARKAPLANDA ÇALAN MÜZİK EKLEME

Farklı bir sitede arkaplandaki sesin çalışması için Jquery ile sayfayı asenkron yüklemeyi tercih etmişler. Doğrusunu söylemek gerekirse yöntemi beğendim fakat ajax kullanmayan sitelerde bu yöntem çalışmayacağı için başka bir yöntem düşünmek gerektiğinin farkında olarak kodları yazmaya başladım.

Öncelikle audio nesnesini javascript tarafından nasıl müdahale edeceğimizi bakalım. Adımların sonunda diğer sayfada kaldığı yerden nasıl çalıştırdığımızı öğrenmiş olacağız.

Sayfa Yüklemesi ve Sayfa Kapanması

Sayfa kapatılırken playerın bulunduğu süre kaydedilecek ve sayfa yüklenirken kayıtlı olan süreden tekrar başlatılacak. Bunun için window nesnesinin onload ve onbeforeunload olayları kullanılır. Aşağıdaki iskelet yapı üzerinden konuyu anlatmaya devam edelim.

Sayfa yüklendiğinde audio nesnesini seçip çalıştıralım.

Şimdi audio nesnesinin bazı özelliklerinden bahsetmek gerekiyor. .play() metodu oynacıyı otomatik çalıştırmak için kullanılıyor. .currentTime özelliği ise oynatıcının oynatmakta olduğu süreyi verir.  Aşağıdaki oynatıcı 40. saniyeden çalışmaya başlayacaktır.

Şimdi oynatıcıyı kayıtlı(sayfa kapatırken kaydedilecek olan) süreden başlatalım. Kayıtlı olan süreyi almak için localStorage kullanacağım. Localstorage ile ilgili daha fazla bilgi almak için buradaki yazıya bakabilirsiniz.

Sayfa Yüklendiğinde Kayıtlı Süreyi Okuma

Kayıtlı süre varsa olan süreden başlatma yoksa da 0. saniyeden başlatmak için onload içine aşağıdaki kodları ekleyerek devam ediyoruz.

ARKAPLANDA ÇALAN MÜZİK DİĞER SAYFALARDA ÇALMASI İÇİN NE YAPILIR ?

Sayfa Kapatılırken Mevcut Süreyi Kaydetme

Yukarıdaki kodda kayıtlı süreyi okumayı yaptık. Sayfa kapatılırken (beforeunload) süreyi kaydedeceğiz.

Kodları tekrardan yazacak olursak tüm kodlar bu şekilde olacaktır.

Örnek sayfa 1 ve kodları şu şekilde oluşacaktır.

Bütün sayfalarda mevcut audio etiketini ve javascript kodlarını yazarak ugulamayı genişletebilirsiniz.

 

3 Yorum

Yorum yapmak için tıklayın