Bagaimana pemutaran YouTube di latar belakang sebenarnya bekerja di iOS
Salah satu hal pertama yang dicoba orang di talavo adalah mengunci ponsel mereka saat video diputar — dan sedikit terkejut saat audio terus berjalan. Di iOS Safari biasa, itu tidak akan terjadi. Inilah yang sebenarnya terjadi di baliknya, karena versi jujurnya lebih menarik daripada “kami mengaktifkan sebuah pengaturan.”
Kendalanya
talavo merender halaman di WKWebView — mesin WebKit yang sama yang digunakan Safari, yang merupakan satu-satunya mesin browser yang diizinkan Apple di iOS. WebKit secara sengaja agresif dalam hal latar belakang: ketika web view meninggalkan latar depan, sistem memperlambat timer dan menangguhkan pipeline media. Itu bagus untuk baterai tetapi buruk bagi seseorang yang hanya ingin video bergaya podcast terus diputar dengan layar mati. YouTube sendiri menyimpan pemutaran latar belakang tanpa gangguan untuk Premium.
Menjaga pipeline tetap hidup
Triknya bukan flag rahasia — ini menolak membiarkan sesi media mati. talavo mencegat sesi media halaman dan, ketika sistem mencoba menjeda pemutaran saat beralih ke latar belakang, menjaga elemen yang mendasarinya “tetap berjalan” daripada membiarkan WebKit menghancurkannya. Dalam praktiknya, itu berarti menangkap jeda yang dipaksakan OS dan segera menjaga elemen tetap berjalan — pada kecepatan pemutaran hampir nol jika diperlukan — agar pipeline audio tetap hangat dan dilanjutkan dengan bersih alih-alih dikumpulkan sebagai sampah.
Di atas itu, talavo menghubungkan kontrol now-playing standar iOS (layar kunci, Control Center, AirPods) ke video aktif, sehingga jeda, putar, dan geser posisi berperilaku seperti aplikasi media native daripada halaman web yang kebetulan memiliki suara.
Mini-player mengambang
Audio di latar belakang hanyalah setengah cerita. Setengah lainnya adalah mini-player mengambang: jendela picture-in-picture yang melepaskan video sehingga terus diputar saat Anda membaca sesuatu yang lain di tab lain — tidak perlu langganan Premium. Ini adalah ide yang sama dengan PiP sistem, tersedia untuk video apa pun yang dapat diputar talavo.
Peringatan jujur
Ini adalah solusi yang dilapisi di atas WebKit, bukan API pribadi. Artinya dua hal: ia tetap dalam batas yang diekspos platform web, dan dapat terpengaruh ketika YouTube mengubah internal pemutarnya. Ketika itu terjadi, kami memperbaikinya — itulah sebagian besar yang dilakukan rilis poin seperti yang ada di changelog kami. Keuntungan membangun di atas mesin browser sungguhan adalah sisa web tetap bekerja normal sementara ini berjalan.