عن المشروع

Xosms هي مكتبة خدمة وسائط أصلية متعددة المنصات مبنية بلغة Rust ومُتاحة لـ Node.js، وتهدف إلى التكامل مع خدمة الوسائط في المنصة المضيفة. وفقًا لملف README، فهي تدعم Windows و macOS و Linux (عبر MPRIS). تتمركز واجهة برمجة التطبيقات حول فئة MediaPlayer. ينشئ المطورون نسخة باستخدام معرّف واسم عرض، ثم يضبطون بيانات وصفية مثل العنوان والفنان وعنوان الألبوم ومستوى الصوت ومعدل التشغيل ومعدلات التشغيل الدنيا/القصوى المسموح بها. كما تكشف عن أعلام لأزرار التالي والسابق والتشغيل والإيقاف المؤقت والإيقاف والبحث، وعلم ملء الشاشة، وصورة مصغرة تُنشأ عبر MediaPlayerThumbnail.create(uri, url). تتم معالجة الأحداث عبر استدعاءات، قد تكون غير متزامنة؛ تنتظر المكتبة انتهاء كل استدعاء قبل معالجة حدث خدمة الوسائط التالي. تغطي الاستدعاءات الموثقة ضغطات الأزرار وتغيرات الموضع وطلبات البحث وتغيرات التكرار وتغيرات المعدل وتغيرات الخلط وتغيرات مستوى الصوت. لا تُعرض التغييرات على خصائص MediaPlayer إلا بعد استدعاء update(). يتم تسجيل المشغل على المنصة عبر activate()، ويجب تحرير الموارد عبر dispose() لتجنب الاعتماد على جمع القمامة للأصول الأصلية للمنصة. تكشف الدالة المساعدة platformSharesMediaPlayers() عن منصات مثل macOS حيث تكون خدمة الوسائط مفردة لكل عملية، وفي هذه الحالة يجب استخدام نسخة MediaPlayer واحدة فقط. للتطوير المحلي، يتطلب المشروع Rust و pnpm؛ بعد الاستنساخ، يُستخدم pnpm و pnpm build لتثبيت التبعيات والبناء.