عن المشروع

react-native-track-player هي مكتبة لتشغيل الصوت في تطبيقات React Native. وفقًا لملف README الخاص بها، فهي مبنية على البنية الجديدة (New Architecture) باستخدام JSI وTurboModules، بهدف تجنب الحمل الزائد للجسر (bridge) والاهتزاز. القدرات الرئيسية المذكورة في README: - واجهة برمجية بسيطة بلغة TypeScript مع كتابة كاملة للأنواع لمطوري React Native - تنفيذ أصلي للبنية الجديدة عبر JSI مع دعم TurboModule - تشغيل في الخلفية، بحيث يستمر الصوت عندما يكون التطبيق في الخلفية أو تكون الشاشة مغلقة - دعم Android Auto للتكامل مع لوحة القيادة في السيارة - التحميل المسبق، الموصوف بأنه تخزين مؤقت في الخلفية للمسارات القادمة لتشغيل شبه متواصل - تخزين مؤقت مدمج للصوت لتقليل استهلاك البيانات وتمكين التشغيل دون اتصال - أدوات تحكم عن بُعد تشمل شاشة القفل وأدوات التحكم في الإشعارات ودعم سماعات الرأس - خطافات React مثل usePlaybackState وuseIsPlaying وuseProgress وuseActiveMediaItem المتطلبات: React Native 0.74 أو أحدث، مع تفعيل البنية الجديدة (Fabric + TurboModules). يتم التثبيت عبر npm install @rntp/player، ثم pod install لنظام iOS؛ أما Android فيتم الربط تلقائيًا. يعرض README تدفق البدء السريع: استدعاء TrackPlayer.setupPlayer مرة واحدة عند بدء التطبيق (في المقدمة على Android) مع خيارات مثل contentType وhandleAudioBecomingNoisy وandroid.wakeMode؛ إضافة عناصر الوسائط مع url وtitle وartist وartwork؛ استدعاء TrackPlayer.play()؛ واستخدام الخطافات في الواجهة. يوصف الإصدار الخامس بأنه إعادة كتابة كاملة غير متوافقة مع الإصدار الرابع. تشمل التحسينات المذكورة في V5: إرجاعات متزامنة من getProgress() وgetQueue() وisPlaying()، ودعم كامل لـ TurboModule وFabric، وإعادة كتابة الطبقات الأصلية لنظامي Android وiOS. الترخيص اعتبار مهم: بدءًا من V5، المشروع مرخص تجاريًا. الاستخدام الشخصي والتعليمي يبقى مجانيًا، بينما يتطلب الاستخدام التجاري ترخيصًا مدفوعًا. يبقى V4 والإصدارات السابقة متاحة تحت رخصة Apache-2.0 على فرع v4. الوثائق الكاملة ومرجع API مستضافة على rntp.dev.