عن المشروع

react-native-vlc-media-player يوفر مكونات تشغيل وسائط مبنية على VLC لتطبيقات React Native. الحزمة تصدّر `VLCPlayer` للتحكم المباشر بالمشغل و`VlCPlayerView`، وهو عرض عالي المستوى مع خيارات للعنوان والرجوع والتشغيل التلقائي وواجهة مستخدم أخرى. المصادر الشبكية المدعومة تشمل RTSP وRTP وRTMP وHLS وMMS وHTTP وFTP وUDP وبروتوكولات أخرى مكشوفة عبر VLC. ملف README يسرد تغطية واسعة للتنسيقات، بما في ذلك MKV وMP4 وAVI وFLV وOgg وتدفقات MPEG الناقلة وH.264 وH.265 وAV1 وVP8/VP9 وAAC وMP3 وFLAC وOpus وAC3 وDTS. كما يدعم مسارات صوتية متعددة، بما في ذلك 5.1، وتنسيقات ترجمة مثل SRT وWebVTT وTTML وSSA/ASS وVobSub وTeletext. خصائص المشغل تغطي URI المصدر وURI الترجمة المحلية وحالة الإيقاف المؤقت والتكرار ومعدل التشغيل وموضع البحث ومستوى الصوت وكتم الصوت والمسارات الصوتية والنصية المحددة والتشغيل في الخلفية ونسبة العرض إلى الارتفاع ونسبة العرض التلقائية ووضع تغيير الحجم والتشغيل التلقائي. استدعاءات الأحداث تشمل onPlaying وonProgress وonPaused وonStopped وonBuffering وonEnded وonError وonLoad وonRecordingCreated وonSnapshot. طرق المرجع يمكنها تسجيل التدفق الحالي إلى دليل وإيقاف التسجيل وحفظ لقطة إطار. التثبيت متاح عبر npm أو Yarn، مع ربط React Native للمشاريع غير Expo. أندرويد عادة لا يتطلب إعدادات خاصة، لكن ملف README يتضمن حلاً بديلاً لـ Gradle لمكتبات `libc++_shared.so` المكررة ويشير إلى أن إصدارات LibVLC الأحدث تعالج مشاكل الترجمة على أندرويد 12 و13. إعداد iOS يستخدم CocoaPods؛ التطبيقات التي تستهدف iOS 14 وما بعده قد تحتاج إلى `NSLocalNetworkUsageDescription` لأن MobileVLCKit يمكنه الوصول إلى الشبكة المحلية لمصادر مثل تدفقات كاميرات RTSP. Expo مدعوم فقط عبر بناء تطوير مخصص، وليس Expo Go، لأن الوحدة تحتوي على كود أصلي مخصص. يتم توفير إضافة تكوين Expo مع إعدادات اختيارية لـ iOS VLCKit وAndroid legacy Jetifier. ملف README يوثق انهيارًا معروفًا لمحاكي iOS 17 على بعض الإصدارات ويوصي بمحاكي iOS 18+ في هذه الحالة. كما يسرد TODO معلقًا يشير إلى أن بعض معالجة نسبة العرض والارتفاع ومعلمات الفيديو على أندرويد غير مكتملة بالكامل على جانب JavaScript.