-
Sorunun keşfi: Yeni bir dizüstü bilgisayarda hoparlörlerden aralıklı olarak white noise geldiği fark edildi. Bu ses yalnızca sessiz bir odada duyulabiliyordu.
-
Neden analizi: PulseAudio’nun audio sink durumu incelendiğinde,
SUSPENDEDdurumunda ses çıkmadığı; ancakIDLEveyaRUNNINGdurumlarında white noise oluştuğu görüldü. -
Firefox sorunu: Firefox, audio sink kullanan program olarak görünüyordu ve açık sekmeler arasında ses çalan hiçbir sekme olmamasına rağmen white noise oluşuyordu.
-
Neden: Sorunun kaynağının outlook.office.com’un bildirim sesi olduğu ortaya çıktı. Her e-posta alındığında white noise başlıyor ve ancak sekme yenilenince ya da Firefox yeniden başlatılınca duruyordu.
-
Batarya tüketimi: White noise oluşurken CPU ve batarya tüketimi artıyordu.
-
Çözüm denemesi: E-posta bildirimleri devre dışı bırakılarak sorun çözülmeye çalışıldı, ancak benzer sorunlar başka web sitelerinde de ortaya çıktı.
-
HTML/JavaScript ses işleme: Ses çalmanın yolları arasında `` etiketi ve WebAudio API bulunuyor. Sorunun,
AudioContextoluşturulurken ortaya çıktığı belirlendi. -
Firefox ve Chrome farkı: Chrome bir süre sonra batarya/CPU israfını otomatik olarak durdururken Firefox bunu yapmıyor.
-
Çözüm:
AudioContext’i otomatik olarak durdurup gerektiğinde yeniden başlatan bir eklenti geliştirildi. Kusursuz olmasa da yeterince etkili.
1 yorum
Hacker News yorumu
Bu sorunun planlandığı ve önemli olduğu belirtiliyor. Yakında çözülecek. Öncelik meselesi nedeniyle henüz çözülmemiş olması için özür dileniyor. Şahsen yüksek öncelik taşıyor
Bir audio context açıp hiçbir şey çalmayan web sitesi muhtemelen bot tespiti yapıyordur
Aynı sorunun Android cihazlarda da olup olmadığını merak ediyorum
Bu beyaz gürültü beni uzun süredir delirtıyordu ama izini süremiyordum
Çıkış boşta kalınca dijital SPDIF sinyali senkronizasyonu kaybediyor. Oynatma başlayınca yeniden senkronize oluyor ama bu zaman alıyor ve sesin ilk birkaç saniyesi kayboluyor. Çıkışı boşta bırakmamak için hatta veri dökmeden çıkışı açık tutan bir program yazmıştım
Android Firefox'ta telefonun bazen günde 10 GB veri tüketmesi sorununu bu açıklıyor olabilir. Haber siteleri ses çalıyor, reklamları tekrar tekrar yüklüyor ve sekme ses yüzünden uyku moduna geçmiyordu. Tekrarlayan veri ücretleri yüzünden Chrome'a geçmek zorunda kalmıştım
Chromium'da bu kesintiyi ele alan kod burada
macOS'ta da benzer bir sorun fark ettim (ses kaynaklı güç tüketimi, beyaz gürültü yok)
Bu sorun https://www.dr.dk/ ana sayfasını düzeltmiş
audioContext'in nasıl uygulandığını iyi bilmiyorum ama çok akıllı ve dinamik. Bildirim sesi çalmak, D3 ile SVG çizmek gibi. Daha verimli bir API'de, bildirim işleyicisi gibi basit tekrar eden işleri kaydedebileceğiniz bir serviceWorker hook'u olup olmadığını merak ediyorum