iOS'ta YouTube arka plan oynatma gerçekte nasıl çalışır
talavo'da insanların ilk denediği şeylerden biri, bir video oynatılırken telefonlarını kilitlemek — ve ses çalmaya devam ettiğinde hafifçe şaşırmak. Standart iOS Safari'de bu olmazdı. Dürüst versiyon “bir ayar açtık”tan daha ilginç olduğu için, gerçekte altta neler döndüğünü anlatalım.
Kısıtlama
talavo, sayfaları WKWebView'da — Safari'nin kullandığı WebKit motoruyla, Apple'ın iOS'ta izin verdiği tek tarayıcı motoruyla — oluşturur. WebKit, arka planlamada kasıtlı olarak agresiftir: web görünümü ön plandan ayrıldığında sistem zamanlayıcıları kısıtlar ve medya ardışık düzenini askıya alır. Bu, pil için harikadır ve sadece ekranı kapalıyken podcast tarzı bir videonun çalmaya devam etmesini isteyen biri için berbattır. YouTube'un kendisi Premium'a kesintisiz arka plan oynatmayı saklıyor.
Ardışık düzeni canlı tutmak
Numara gizli bir bayrak değil — medya oturumunun ölmesine izin vermemek. talavo, sayfanın medya oturumunu yakalar ve sistem arka plana geçişte oynatmayı duraklatmaya çalıştığında, WebKit'in onu yok etmesine izin vermek yerine temel öğeyi “çalışır” durumda tutar. Pratikte bu, işletim sisteminin zorladığı duraklamayı yakalamak ve öğenin çalışmaya devam etmesini sağlamak anlamına gelir — gerekirse neredeyse sıfır oynatma hızında — böylece ses ardışık düzeni sıcak kalır ve çöp toplanmak yerine temiz bir şekilde devam eder.
Bunun üzerine talavo, standart iOS şimdi oynatılıyor kontrollerini (kilit ekranı, Kontrol Merkezi, AirPods) aktif videoya bağlar; böylece duraklat, oynat ve ileri sar, sesi olan sıradan bir web sayfası gibi değil, yerel bir medya uygulaması gibi davranır.
Kayan mini oynatıcı
Arka plan sesi hikayenin yarısı. Diğer yarısı kayan mini oynatıcı: başka bir sekmede başka bir şey okurken videonun çalmaya devam etmesi için videoyu ayıran bir resim içinde resim penceresi — Premium abonelik gerekmez. Sistem PiP ile aynı fikir, talavo'nun oynatabildiği her video için sunulmuştur.
Dürüst uyarı
Bu, özel bir API değil, WebKit'in üzerine katmanlanmış bir geçici çözümdür. İki anlama gelir: web platformunun ortaya koyduğu şeylerin içinde kalır ve YouTube oynatıcısının iç yapısını yeniden düzenlediğinde etkilenebilir. Bu olduğunda düzeltiyoruz — değişiklik günlüğümüzdeki gibi bir nokta sürümünün büyük çoğunluğu budur. Gerçek tarayıcı motorunun üzerine inşa etmenin avantajı, bu çalışırken webin geri kalanının normal çalışmaya devam etmesidir.