इस प्रोजेक्ट के बारे में
Xosms एक क्रॉस-प्लेटफ़ॉर्म नेटिव मीडिया सेवा लाइब्रेरी है, जो Rust में बनाई गई है और Node.js के लिए उजागर की गई है, और होस्ट प्लेटफ़ॉर्म की मीडिया सेवा के साथ एकीकरण के लिए है। README के अनुसार, यह Windows, macOS और Linux (MPRIS के माध्यम से) का समर्थन करती है।
API MediaPlayer क्लास पर केंद्रित है। डेवलपर्स एक पहचानकर्ता और डिस्प्ले नाम के साथ इंस्टेंस बनाते हैं, फिर title, artist, album title, volume, playback rate और अनुमत minimum/maximum playback rates जैसे मेटाडेटा सेट करते हैं। यह next, previous, play, pause, stop और seek बटनों के लिए फ़्लैग, एक fullscreen फ़्लैग, और MediaPlayerThumbnail.create(uri, url) के माध्यम से बनाई गई थंबनेल भी उजागर करता है।
इवेंट हैंडलिंग कॉलबैक के माध्यम से होती है, जो असिंक्रोनस हो सकते हैं; लाइब्रेरी अगले मीडिया सेवा इवेंट को प्रोसेस करने से पहले प्रत्येक कॉलबैक के पूरा होने की प्रतीक्षा करती है। दस्तावेज़ीकृत कॉलबैक बटन प्रेस, स्थिति परिवर्तन, seek अनुरोध, loop परिवर्तन, rate परिवर्तन, shuffle परिवर्तन और volume परिवर्तन को कवर करते हैं।
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.