كيف يعمل تشغيل YouTube في الخلفية على iOS فعلاً
من أول ما يجربه الناس في talavo هو قفل هواتفهم أثناء تشغيل فيديو — والتفاجؤ قليلاً حين يستمر الصوت. في Safari الافتراضي على iOS لن يحدث ذلك. إليك ما يجري تحت الغطاء فعلاً، لأن النسخة الصادقة أكثر إثارة للاهتمام من «فعّلنا إعداداً».
القيد
يُعرض talavo الصفحات في WKWebView — محرك WebKit ذاته الذي يستخدمه Safari، وهو محرك المتصفح الوحيد الذي تسمح به Apple على iOS. WebKit متعمد في عدوانيته تجاه الخلفية: حين تغادر واجهة الويب المقدمة، يُقلّص النظام المؤقتات ويُعلّق خط معالجة الوسائط. هذا رائع للبطارية ومروّع لشخص يريد فقط أن يستمر تشغيل فيديو شبيه بالبودكاست مع إطفاء الشاشة. YouTube نفسه يحتجز التشغيل المتواصل في الخلفية لمشتركي Premium.
إبقاء خط المعالجة حياً
الحيلة ليست علامة سرية — إنها رفض السماح بموت جلسة الوسائط. يعترض talavo جلسة وسائط الصفحة، وحين يحاول النظام إيقاف التشغيل عند التحويل للخلفية، يُبقي العنصر الأساسي «يعمل» بدلاً من السماح لـ WebKit بتفكيكه. عملياً هذا يعني اعتراض الإيقاف الذي يفرضه نظام التشغيل والإبقاء فورياً على العنصر نشطاً — بمعدل تشغيل يكاد يكون صفراً إن لزم — حتى يبقى خط الصوت دافئاً ويستأنف بشكل نظيف بدلاً من أن يُجمَّع مهملاً.
علاوة على ذلك، يربط talavo عناصر تحكم التشغيل القياسية في iOS (شاشة القفل، مركز التحكم، AirPods) بالفيديو النشط، بحيث يتصرف الإيقاف والتشغيل والتقديم مثل تطبيق وسائط أصيل لا مثل صفحة ويب يصدر منها صوت.
المشغل الصغير العائم
الصوت في الخلفية نصف القصة فقط. النصف الآخر هو المشغل الصغير العائم: نافذة صورة داخل صورة تفصل الفيديو حتى يستمر في التشغيل بينما تقرأ شيئاً آخر في تبويب آخر — دون اشتراك Premium. إنها الفكرة ذاتها كـ PiP النظام، متاحة لأي فيديو يستطيع talavo تشغيله.
التحفظ الصادق
هذا حل طبقة فوق WebKit، ليس واجهة برمجية خاصة. هذا يعني شيئين: يبقى ضمن ما تُتيحه منصة الويب، ويمكن أن يتأثر حين تُعيد YouTube هيكلة داخليات مشغّلها. حين يحدث ذلك نُصلحه — هذا أكثر ما تفعله إصدارات النقطة كالتي في سجل التغييرات لدينا. ميزة البناء على محرك المتصفح الحقيقي هي أن بقية الويب تستمر في العمل بشكل طبيعي بينما يجري هذا.