في عالم اليوم الذي يتمحور حول الهاتف المحمول، يعد بث الفيديو ميزة أساسية للعديد من التطبيقات. سواء كان ذلك منصة لمشاركة الفيديو، أو تطبيقًا تعليميًا، أو شبكة اجتماعية غنية بالوسائط المتعددة، فإن توفير تجربة فيديو سلسة أمر ضروري. باستخدام React Native، وهو إطار عمل شائع لإنشاء تطبيقات الهاتف المحمول عبر الأنظمة الأساسية، أصبح دمج بث الفيديو أمرًا سهلاً مع مكتبة الفيديو التفاعلية الأصلية.
في هذه المدونة، سنتعرف على خطوات تثبيت الفيديو التفاعلي الأصلي وتكوينه واستخدامه لإنشاء تجربة بث فيديو سلسة في تطبيقات React Native.
للبدء، تحتاج إلى تثبيت مكتبة الفيديو التفاعلية الأصلية في مشروع React Native الخاص بك.
الخطوة 1: تثبيت الحزمة
أولاً، قم بتثبيت المكتبة باستخدام npm أو الغزل:
npm install react-native-video react-native-video-cache
أو
yarn add react-native-video react-native-video-cache
بالنسبة لنظام iOS، قد تحتاج إلى تثبيت البودات الضرورية:
cd ios pod install cd ..
الخطوة 2: الإعداد الأصلي الإضافي لنظام التشغيل iOS/Android
i) android/build.gradle
buildscript { ext { // Enable IMA (Interactive Media Ads) integration with ExoPlayer useExoplayerIMA = true // Enable support for RTSP (Real-Time Streaming Protocol) with ExoPlayer useExoplayerRtsp = true // Enable support for Smooth Streaming with ExoPlayer useExoplayerSmoothStreaming = true // Enable support for DASH (Dynamic Adaptive Streaming over HTTP) with ExoPlayer useExoplayerDash = true // Enable support for HLS (HTTP Live Streaming) with ExoPlayer useExoplayerHls = true } } allprojects { repositories { mavenLocal() google() jcenter() maven { url "$rootDir/../node_modules/react-native-video-cache/android/libs" } } }
&&&] يمكّن هذا التكوين بروتوكولات البث المختلفة (IMA، RTSP، Smooth Streaming، DASH، HLS) في ExoPlayer ويقوم بإعداد المستودعات لتشمل محلي، وGoogle، وJCenter، ومستودع Maven مخصص لفيديو التفاعل الأصلي- مخبأ.
ستؤدي كل ميزة من هذه الميزات التي تم تمكينها إلى زيادة حجم ملف APK الخاص بك، لذا قم بتمكين الميزات التي تحتاجها فقط. الميزات الممكّنة افتراضيًا هي: useExoplayerSmoothStreaming، useExoplayerDash، useExoplayerHls
تضمن المجموعة أن التطبيق يحتوي على ذاكرة كافية للتعامل مع مجموعات البيانات الكبيرة (عبر LargeHeap) ويمكنه عرض الرسومات بكفاءة (عبر HardwareAccelerated)، مما يؤدي إلى تجربة مستخدم أكثر سلاسة واستقرارًا. ومع ذلك، يجب استخدام كليهما مع الأخذ في الاعتبار أداء التطبيق والاحتياجات المحددة لوظائفه.
ب) iOS:i) في ios/your_app/AppDelegate.mm داخل didFinishLaunchingWithOptions أضف:
ضمان استمرار تشغيل الصوت حتى عندما يكون التطبيق في الخلفية أو في الوضع الصامت
ii) iOS/Podfile:
يتيح هذا التكوين التخزين المؤقت للفيديو في مشروع iOS عن طريق إضافة CocoaPods محددة (SPTPersistentCache وDVAssetLoaderDelegate) التي تتعامل مع التخزين المؤقت وتحميل الأصول. تشير العلامة $RNVideoUseVideoCaching=true إلى أن المشروع يجب أن يستخدم إمكانات التخزين المؤقت هذه. يعمل هذا الإعداد على تحسين أداء تشغيل الفيديو عن طريق تقليل الحاجة إلى إعادة جلب ملفات الفيديو.
import Video from 'react-native-video'; import convertToProxyURL from 'react-native-video-cache';
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3