हुगू - नोड.जेएस पर Vkontakte सामूहिक संगीत खिलाड़ी

यह क्यों आवश्यक है? आइए स्थिति को याद रखें: कई लोग कार्यालय में काम करते हैं, और एक के पास कंप्यूटर से जुड़े संगीत स्पीकर हैं। - "वसिया, लवराडियो बदलो!" रामस्टेन रखो! ”और वासा, रिपोर्ट / खेल / विचार से विचलित होकर:“ रामस्टीन से थक गए, चलो “गायन करने वाले जागीरदार” को बेहतर तरीके से रखा जाए? मेगाज़ॉटिक गाने! "

क्या कोई साझा प्लेलिस्ट में अपना पसंदीदा संगीत जोड़ सकता है? ब्राउज़र के माध्यम से? VKontakte प्लेलिस्ट से? हाँ यह कर सकते हैं।

हुजू - क्या है?
हुगू नोड.जेएस के लिए एक एप्लिकेशन है जो उपयोगकर्ताओं द्वारा साझा की गई प्लेलिस्ट के माध्यम से Vkontakte से संगीत बजाता है।


पृष्ठभूमि की एक बिट
किसी भी व्यक्ति के समूह के रूप में, हमारी टीम में (एक टीम के रूप में टीम, देश भर में उनमें से कई हैं, और मैं, जैसे कई, विकास टीम में काम करते हैं), प्रत्येक डेवलपर अपनी पसंद के अनुसार संगीत सुनना चाहता है। आमतौर पर, यह व्यक्तिगत हेडफ़ोन द्वारा तय किया जाता है। लेकिन अगर आम बोलने वाले हैं, तो आप एक साथ सुन सकते हैं। उदाहरण के लिए, हमने ऑफिस में बैकग्राउंड म्यूजिक बनाने के लिए एक सामान्य मशीन पर लंबे समय तक mocp का इस्तेमाल किया। Ssh पर हर कोई एक गीत दे सकता है।

एक दिन पिछली गर्मियों में, इल्या (हमारी टीम से एक और डेवलपर, मुझे नहीं) ने नोड की कोशिश करने का फैसला किया। और अगर मेरे लिए अपने आप में कोई दिलचस्प काम नहीं है तो कोशिश करने की क्या बात है? और उन्होंने कई शाम के लिए एक प्रोटोटाइप आवेदन लिखा। और हम इसका इस्तेमाल करने लगे और mocp को भूल गए। और इस नए साल के सप्ताहांत में, मैं भी इस प्रवृत्ति में शामिल होना चाहता था, और मैंने आवेदन को थोड़ा फिर से लिखा।

क्यों हुगू?
सबसे पहले यह हर्डी-गुरुडी ( व्हील लियर , या बस एक बैरल अंग) था, लेकिन संक्षिप्तता के लिए वे हुगू को बुलाने लगे।

कैसे काम करता है हुगू?
नोड.जेएस के तहत, वेब सर्वर और वेबसोकेट सर्वर लॉन्च किए जाते हैं। प्रत्येक उपयोगकर्ता वेब सर्वर पृष्ठ पर जाता है और OAuth Vkontakte के माध्यम से HuGu एप्लिकेशन में लॉग इन करता है। प्राधिकरण के बाद, उपयोगकर्ता अपनी Vkontakte प्लेलिस्ट प्राप्त कर सकता है और इसमें प्लेलिस्ट से गाने जोड़ सकता है। क्लाइंट और सर्वर के बीच सभी संचार वेबसोकेट संदेशों के माध्यम से होता है।

प्लेलिस्ट को एक कतार के आधार पर व्यवस्थित किया जाता है। सर्वर पर, हम एमपी फाइल चलाने के लिए mplayer का उपयोग करते हैं। Mplayer बदले में उपयोगकर्ताओं द्वारा जोड़ी गई फ़ाइलों को निभाता है। आप वेब इंटरफ़ेस से वॉल्यूम भी बदल सकते हैं (एमिक्सर के माध्यम से काम करता है)।

क्या हमने अपने लिए ऐसा किया?
बेशक, सबसे पहले हम खुद हुगू का इस्तेमाल करते हैं। आमतौर पर कार्यालय में 5-6 डेवलपर्स होते हैं, जिनमें से प्रत्येक समय-समय पर विभिन्न रचनाओं को सुनने की पेशकश करता है (पिछले सप्ताह हमने अलग-अलग 8-बिट धुनों को सुना)।

आवेदन किसी तरह अधूरा ...
खैर, हाल ही में, यह आम तौर पर इस तरह दिखता था:


लेकिन काम जारी है। जावास्क्रिप्ट में, "मैं अभी तक एक जादूगर नहीं हूं, मैं अभी सीख रहा हूं," इसलिए मैं प्रतिक्रिया प्राप्त करने के लिए हुगू के बारे में जानकारी पोस्ट करता हूं। मैं किसी भी प्रश्न का उत्तर दूंगा, टिप्पणियों को ध्यान में रखूंगा, सिफारिशों का उपयोग करूंगा। खासकर कोड को लेकर।

केवल Vkontakte से संगीत क्यों है?
Vkontakte में संगीत प्राप्त करने के लिए एक सुविधाजनक API है। कई लोगों के पास उनकी पसंदीदा रचनाओं का संग्रह है, जिसमें से आप कार्यालय में सुनने के लिए संगीत वितरित कर सकते हैं। यद्यपि, निश्चित रूप से, Vkontakte कभी-कभी धीमा हो जाता है या यहां तक ​​कि अनुपलब्ध है - फिर आपको अन्य संसाधनों या स्थानीय मशीन पर संगीत की तलाश करनी होगी, लेकिन यह अभी भी शायद ही कभी होता है।

वैसे, एक प्रयोग के रूप में रेडियो स्टेशनों की एक छोटी सूची को जोड़ा गया है। कभी-कभी आप नोटिस करते हैं कि आप मौन में बैठे हैं या बस यह नहीं जानते कि आप क्या सुनना चाहते हैं।

लेकिन OAuth Vkontakte?
यहां सबसे बड़ी मुसीबत, यानी। एक Vkontakte वेब एप्लिकेशन बनाते समय, जो एक वेब ब्राउज़र में क्लाइंट होते हैं, आपको Vkontakte आईपी पते और / या डोमेन में एप्लिकेशन सेटिंग्स में निर्दिष्ट करना होगा जहां रीडायरेक्ट किया जाएगा।

समस्या के दो समाधान:
1. अपना खुद का एप्लिकेशन बनाएं, इसमें अपना आईपी-पता निर्दिष्ट करें। HuGu सेटिंग्स में, Vkontakte एप्लिकेशन की आईडी निर्दिष्ट करें।
2. डोमेन म्यूज़िक का उपयोग करें। लिंक , जिसे मैंने अपने एप्लिकेशन में जोड़ा है। लेकिन आपको इसे प्रत्येक मशीन पर होस्ट में पंजीकृत करना होगा जो इसका उपयोग करता है, या अपने स्वयं के DNS सर्वर का उपयोग करता है।

या संगीत के एक और खजाने का उपयोग करें? विकल्प?

खेलने के बाद प्लेलिस्ट से गाने क्यों हटाए जाते हैं?
यह ऐतिहासिक रूप से हुआ। प्लेलिस्ट, एक मोड़ के रूप में, सुविधाजनक है कि खोए हुए गाने हटा दिए जाते हैं, और वे अब हमें परेशान नहीं करते हैं, हर कोई देखता है कि जल्द ही बारी एक विशेष गीत के लिए उपयुक्त होगी।
लेकिन मेरी पत्नी वास्तव में इसे पसंद नहीं करती है, वह क्लासिक WinAmp: प्लेलिस्ट और फेरबदल में पसंद करना चाहती है। और आप अधिक सहज कैसे होंगे?

यानी HuGu एक क्लाइंट सर्वर अनुप्रयोग है?
खैर हाँ। हमारे आवेदन के साथ सर्वर पर Node.js चल रहा है, कॉलम भी सर्वर से जुड़े हैं। और ब्राउज़र के माध्यम से सभी उपयोगकर्ता सर्वर से कनेक्ट होते हैं और वहां संगीत चलाते हैं।

सर्वर किसी और का कंप्यूटर, या एक विशेष कंप्यूटर हो सकता है। उदाहरण के लिए, हम Ubuntu Server के साथ nettop (Foxconn Netbox DL-535W) का उपयोग करते हैं। और घर पर, हूगू मेरे डेस्कटॉप लैपटॉप (उबंटू) पर है, जिससे स्पीकर जुड़े हुए हैं, और मेरी पत्नी सोफे पर लेटी मेरे लैपटॉप (विंडोज) से संगीत डालती है। बहुत सहज है।

आप हुजू का उपयोग कैसे कर सकते हैं?
जल्द ही प्रेमियों, वास्तविक पुरुषों और सुंदर महिलाओं के अवसर पर कॉर्पोरेट पार्टियां होंगी - आप हर किसी को अपने पसंदीदा गीत को अपने स्मार्टफोन पर डालने के लिए आमंत्रित कर सकते हैं, और जैसा कि आमतौर पर होता है: “अरे डीजे! मेरी सीडी रखो! ”

और आप रसोई में अलग-अलग स्पीकर नहीं लगा सकते हैं और न ही ऑडियो स्ट्रीम स्ट्रीम कर सकते हैं, जैसा कि शिल्पकार करते हैं। और बस रसोई से टैबलेट से, कमरे में वक्ताओं पर वॉल्यूम चालू करें।

कहाँ से डाउनलोड करें?
गिटहब: https://github.com/antirek/hugu

पुनश्च मैं आप सभी के संयुक्त विकास की कामना करता हूं।

Source: https://habr.com/ru/post/In209230/


All Articles