2011-03-06 17 views
8

के लिए एयरप्ले एपीआई क्या वर्तमान में कोई एपीआई (सार्वजनिक या निजी) है जो किसी तृतीय पक्ष मैक ओएस एक्स एप्लिकेशन को एयरप्ले रिसीवर को ऑडियो स्ट्रीम करने की अनुमति देगा? रॉग अमीबा सॉफ्टवेयर द्वारा Airfoil ऐसा करने में सक्षम प्रतीत होता है, वही एरिका सदून के AirFlick के लिए जाता है, लेकिन मैं ऐसा कोई भी स्रोत कोड नहीं ढूंढ पाया जो यह दिखाएगा कि यह कैसे करें। किसी भी पॉइंटर्स की सराहना की जाती है!मैक ओएस एक्स

उत्तर

4

यह पता चला AirPlay ऑडियो स्ट्रीमिंग ओएस एक्स 10.8 सार्वजनिक एपीआई का उपयोग कर के रूप में संभव है, लेकिन वास्तव में कहीं भी दर्ज नहीं किया गया था। जोरीस क्लिवर ने इसे कैसे प्राप्त किया है, इस पर एक महान blog post लिखा है।

0

मुझे नहीं लगता कि यह उपलब्ध है। कम से कम 10.7 से पहले संस्करणों में नहीं।

मुझे लगता है कि एयरफोइल कुछ समय पहले डीवीडी जॉन की तरह कुछ करता था जब उसने एयरपोर्ट एक्सप्रेस कुंजी पेलोड को तोड़ दिया था। उन्होंने कोड जारी किया (सी #) आपको इसे ढूंढने में सक्षम होना चाहिए लेकिन यह बहुत ही गूढ़ है।

मुझे पता नहीं है कि एयरफ्लिक क्या उपयोग करता है लेकिन आप हमेशा एरिका को पिंग करने का प्रयास कर सकते हैं, वह आमतौर पर अपनी सामग्री साझा करती है।

1

acouple ओपन-सोर्स आरएओपी प्लेयर उपलब्ध हैं; मैंने उनको नहीं देखा है, इसलिए मुझे नहीं पता कि ऐप्पल ने उन्हें तोड़ने के बाद तोड़ दिया है या नहीं।

0

कोई हाल ही में एयरप्ले निजी कुंजी प्राप्त करने में कामयाब रहा है जो आपको अपने नेटवर्क पर डिवाइस पर एयरप्ले मेनू में सूचीबद्ध प्रोग्राम करने की अनुमति देता है।

आप इसके बारे में यहां पढ़ सकते हैं। उस पृष्ठ से जुड़ा एक ओपन सोर्स प्रोजेक्ट भी है। http://mafipulation.org/blagoblig/2011/04/08#shairport

ध्यान रखें कि स्पष्ट रूप से आपके द्वारा बनाए गए किसी भी एप्लिकेशन को सेब द्वारा अनुमोदित नहीं किया जाएगा और निजी कुंजी को फर्मवेयर/सॉफ्टवेयर अपडेट में संभावित रूप से बदला जा सकता है।

+1

यह प्रश्न एयरप्ले रिसीवर को भेजने के बारे में पूछ रहा है। उसमें निजी कुंजी की आवश्यकता नहीं है। –

+0

@ निकोलस रिले आह हाँ आप सही हैं। – Ben

1

माउंटेन शेर (ओएस एक्स 10.8) ने ध्वनि सेटिंग्स में एयरप्ले समर्थन जोड़ा है। उपयोगकर्ता स्थानीय ध्वनि आउटपुट को एयरप्ले डिवाइस पर भेजना चुन सकता है। हालांकि, मुझे नहीं लगता कि आपके पास अपने ऐप के भीतर किसी भी एपीआई तक पहुंच है।

एयरप्ले को लागू करने के लिए कुछ पुस्तकालय उपलब्ध हैं, लेकिन पता है कि यदि आप इसे ऐप स्टोर पर प्रकाशित करने का प्रयास करते हैं तो ऐप्पल आपके ऐप को अस्वीकार कर देगा। कम से कम, यह मेरे साथ हुआ।

मैंने एयरप्ले का समर्थन करने के लिए एक node.js मॉड्यूल लिखा था। भले ही आप नोड का उपयोग न करें, आप केवल अपने ऑडियो डेटा को stdin के माध्यम से पाइप कर सकते हैं।

https://github.com/lperrin/node_airtunes/

+0

स्पष्टीकरण के लिए, मैंने एक ओएस एक्स ऐप पर काम किया, जिसने ऑडियो आउटपुट के लिए node.js प्रक्रिया को फोर्क किया। मॉड्यूल में कोरऑडियो के लिए बाइंडिंग भी है, इसलिए आपको इसके लिए एक विशेष मामला बनाने की आवश्यकता नहीं है। –

+0

यह मुझे स्पष्ट नहीं है कि आप ओएस एक्स के भीतर एक नोडजेस प्रक्रिया को कैसे फेंकने में सक्षम थे। क्या आपका मतलब है कि ओएस एक्स ऐप एयरप्ले क्लाइंट के रूप में नोडजेज़ का उपयोग कर रहा था? – loretoparisi

+0

मैंने इस [प्रश्न] में समझाया गया है कि एक [NSTask] (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTask_Class/Reference/Reference.html) का उपयोग किया था (http://stackoverflow.com/questions/412562/execute-a-terminal-command-from-a-cocoa-app)। ऐप एक अलग नोड का उपयोग करता है।सभी ऑडियो (स्थानीय + एयरप्ले) के लिए जेएस। यह प्रक्रिया stdin/stdout पर भेजे गए आदेशों द्वारा नियंत्रित होती है। उदाहरण के लिए आपके पास आधार है। –