عن المشروع

NeriPlayer هو مشغل صوتي أندرويد أصلي، مبني باستخدام Jetpack Compose وMedia3، ويدعم الأجهزة التي تعمل بنظام Android 9 (API 28) أو أحدث. يتموضع المشروع على أنه "استكشاف متعدد المصادر، تشغيل عبر الإنترنت، تحكم محلي، واحتفاظ ذاتي بالبيانات"، ولا يوفر مكتبة موسيقى سحابية عامة أو خدمات توزيع وسائط، وتعتمد القدرات عبر الإنترنت على تفويض حساب المستخدم على منصات الطرف الثالث. تشمل القدرات الرئيسية: - تشغيل متعدد المصادر عبر الإنترنت: يدمج NetEase Cloud Music وBilibili وYouTube Music، ويدعم مداخل مثل البحث وقوائم التشغيل والمفضلات والألبومات وتفاصيل الفنانين، ويوفر تحليل مصدر الصوت وإدارة قائمة الانتظار واستعادة الأخطاء. عند عدم وجود صلاحيات في NetEase أو عند إرجاع مقاطع تجريبية فقط، يحاول خفض جودة الصوت، ويمكنه وفقًا للإعدادات مطابقة Bilibili أو الصوت المحلي كبديل احتياطي. - بيانات محلية أولاً: يتم حفظ ذاكرة التشغيل المؤقتة وملفات التنزيل وقوائم التشغيل وسجل التاريخ وإحصائيات التشغيل والإعدادات محليًا على الجهاز افتراضيًا؛ ويتم تشفير ملفات تعريف الارتباط للمنصات ورموز GitHub وكلمات مرور WebDAV باستخدام Android Keystore وEncryptedSharedPreferences. - مزامنة ذاتية اختيارية: يمكن مزامنة البيانات الوصفية مثل قوائم التشغيل المحلية والمفضلات والتشغيل الأخير وإحصائيات التشغيل إلى مستودع GitHub الخاص بالمستخدم أو ملفات WebDAV البعيدة، باستخدام WorkManager للمزامنة المؤجلة والدورية، مع دمج ثلاثي الاتجاهات لمعالجة التعارضات. - تجربة كلمات الأغاني: يدعم تمييز كلمات الأغاني سطرًا بسطر وكلمة بكلمة/حرفًا بحرف بصيغ LRC وYRC/TTML، والترجمة، والنقل الصوتي، والإزاحة، والنقر للانتقال، والضغط المطول للمشاركة، وتوليد بطاقات كلمات الأغاني؛ يوفر محرر كلمات أغاني يمكنه الاتصال بمصادر خارجية مثل LRCLIB، ويدعم كلمات الأغاني العائمة وكلمات شريط الحالة وSuperLyric وLyricon وإخراج كلمات الأغاني عبر البلوتوث. - التشغيل والمؤثرات الصوتية: يعتمد على Media3 ExoPlayer، ويدعم تغيير السرعة ودرجة الصوت والمعادل وتعزيز جهارة الصوت والتلاشي الداخل والخارج والتلاشي المتقاطع وإيقاف التشغيل المؤقت عند انقطاع البلوتوث وسياسات تركيز الصوت، بالإضافة إلى تشغيل USB حصري لأجهزة UAC1.0 وأجهزة UAC2.0 Type I PCM المتوافقة. - التنزيل والإدارة المحلية: يدعم التنزيل داخل التطبيق صوتًا من منصات متعددة، مع تقدم المهام والإلغاء/إعادة المحاولة واستئناف التنزيل المتقطع (معالجة منفصلة لـ HTTP المباشر وRange المجزأ وHLS)، والتزامن الافتراضي 6 والحد الأقصى 8؛ يدعم دليل تنزيل مخصص عبر SAF وقوالب أسماء الملفات؛ يمكن استيراد الصوت المحلي عبر المشاركة الخارجية أو فحص الجهاز أو فحص مجلدات مصرح بها، مع التعرف على ملفات كلمات الأغاني والأغلفة القريبة. - الاستماع الجماعي: يوفر عبر Cloudflare Workers وDurable Objects مزامنة للغرف والأدوار وقائمة الانتظار وحالة التشغيل وأوضاع التكرار/العشوائية، ويدعم روابط الدعوة والانضمام عبر الروابط العميقة وخادمًا مخصصًا واستعادة مالك الغرفة عند انقطاع الاتصال. - التشخيص والاستعادة: يوفر الوضع الآمن وسجلات الأعطال وسجلات ANR ومسبارات تصحيح وضع المطور، بالإضافة إلى إحصائيات مجمعة لاستخدام التخزين وتنظيف الذاكرة المؤقتة القابلة لإعادة التوليد. يتبنى المشروع بنية نشاط واحد + Compose، حيث تُنظم الواجهة الرئيسية بواسطة NavHost وشريط سفلي ديناميكي، وتكون صفحة التشغيل طبقة ملء الشاشة متراكبة مع Mini Player دائم. يحتوي المستودع على تسجيل تلقائي لعناصر الإعدادات عبر KSP، ووحدات فرعية لتحليل كلمات الأغاني وواجهة المستخدم، ووحدة فرعية لخادم الاستماع الجماعي. يعلن المشروع أنه مخصص للتعلم والبحث فقط، ولا يوفر محتوى وسائط أو مفاتيح أو حلولًا لتجاوز قيود المنصات.