منصوبے کے بارے میں
Xosms Rust میں بنایا گیا کراس پلیٹ فارم نیٹیو میڈیا سروس لائبریری ہے جو Node.js کے لیے ایکسپوز کیا گیا ہے، جو ہوسٹ پلیٹ فارم کی میڈیا سروس کے ساتھ انٹیگریشن کے لیے بنایا گیا ہے۔ README کے مطابق، یہ Windows، macOS اور Linux (MPRIS کے ذریعے) کو سپورٹ کرتا ہے۔
API MediaPlayer کلاس کے گرد مرکوز ہے۔ ڈویلپرز ایک شناخت کنندہ اور ڈسپلے نام کے ساتھ ایک انسٹنس بناتے ہیں، پھر عنوان، آرٹسٹ، البم کا عنوان، والیوم، پلی بیک ریٹ اور اجازت شدہ کم/زیادہ سے زیادہ پلی بیک ریٹ جیسی میٹا ڈیٹا سیٹ کرتے ہیں۔ یہ اگلے، پچھلے، پلے، پوز، اسٹاپ اور سیک بٹنوں کے لیے flags، فل اسکرین flag، اور MediaPlayerThumbnail.create(uri, url) کے ذریعے بنائی گئی تھمب نیل بھی ایکسپوز کرتا ہے۔
ایونٹ ہینڈلنگ کالبیکس کے ذریعے کی جاتی ہے، جو غیر متزامن بھی ہو سکتے ہیں؛ لائبریری اگلے میڈیا سروس ایونٹ کو پروسیس کرنے سے پہلے ہر کالبیک کے مکمل ہونے کا انتظار کرتی ہے۔ دستاویز کردہ کالبیکس بٹن دبانے، پوزیشن تبدیلیوں، سیک کی درخواستوں، لوپ تبدیلیوں، ریٹ تبدیلیوں، شفل تبدیلیوں اور والیوم تبدیلیوں کو کور کرتے ہیں۔
MediaPlayer کی خصوصیات میں تبدیلیاں صرف update() کو کال کرنے کے بعد پیش کی جاتی ہیں۔ پلیئر کو activate() کے ساتھ پلیٹ فارم پر رجسٹر کیا جاتا ہے، اور پلیٹ فارم کے نیٹیوز پر گاربیج کلیکشن پر انحصار کرنے سے بچنے کے لیے dispose() کے ساتھ وسائل کو ریلیز کیا جانا چاہیے۔ ہیلپر platformSharesMediaPlayers() ایسے پلیٹ فارموں کی پہچان کرتا ہے جیسے macOS جہاں میڈیا سروس پروسس کے لیے سنگلٹن ہوتی ہے، اس صورت میں صرف ایک MediaPlayer انسٹنس کا استعمال کیا جانا چاہیے۔
مقامی ڈیولپمنٹ کے لیے، پروجیکٹ کو Rust اور pnpm کی ضرورت ہوتی ہے؛ کلون کرنے کے بعد، ڈیپینڈنسیز انسٹال کرنے اور بنانے کے لیے pnpm اور pnpm build کا استعمال کیا جاتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.