2013-01-08 53 views
5

हमने एक बाहरी आईओएस अधिसूचना प्रकाश बनाया जो डिवाइस के लिए डिवाइस के ऑडियो का उपयोग करता है। जब आपको आईफोन पर फोन कॉल मिलता है और प्रकाश प्लग इन होता है, तो आपको अभी भी रिंगटोन मिल जाता है लेकिन जब आप उठाते हैं, तो ऑडियो हेडफ़ोन पर वापस आ जाता है (आईफोन सोचता है कि हमारा प्रकाश/डिवाइस हेडफ़ोन सेट है) और उपयोगकर्ता फोन के फ्रंट रिसीवर से ऑडियो प्राप्त करने के लिए कम से कम 2 मिमी के लिए myLED निकालना है।आईफोन हेडफ़ोन ऑडियो जैक री-रूटिंग

हम इस चुनौती के वैकल्पिक समाधानों की खोज कर रहे हैं - हाल ही में हमने एक विशेष जैक आकार के साथ प्रोटोटाइप बनाया है ताकि आईफोन स्पीकर/माइक में ऑडियो को "रीरेट" करने के लिए कॉल करने पर उपयोगकर्ता द्वारा घुमाया जा सके। हालांकि यह एक चालाक विकल्प लग सकता है, यह हार्डवेयर समाधान साफ ​​होने से बहुत दूर है - इससे ऐसी स्थिति होती है जहां myLED काम नहीं करता/यह विश्वसनीय नहीं है, साथ ही अन्य जटिलताओं।

मुझे KAudioSessionOverrideAudioRoute_Speaker के अस्तित्व के बारे में पता है, हालांकि मुझे संदेह है कि यह केवल ऐप ऑडियो को पीछे के स्पीकर ("जोरदार") पर निर्देशित करेगा, न कि फ्रंट रिसीवर (क्योंकि आईफोन के लिए "रिसीवर" हेडफोन सेट अगर वे पता चला है)।

आप क्या सुझाव देंगे? सुपर सराहना की!

उत्तर

4

मुझे लगता है कि आप एक कठिन जगह में कर रहे हैं:

  1. यह अत्यधिक संभावना नहीं एप्पल कभी फोन कॉल के लिए ऑडियो रूटिंग ओवरराइड करने के लिए विकल्प जारी करेंगे है। फोन की एक महत्वपूर्ण कार्यक्षमता के रूप में, वे कॉल पहलू को ताला और कुंजी के नीचे रखते हैं।

  2. हेडफ़ोन जैक (शायद - यह है कि उनमें से अधिकतर इसे कैसे करते हैं) प्लग और इन दोनों को निर्धारित करने के लिए जमीन या एक या दोनों वक्ताओं या रिमोट कंट्रोल के बीच प्रतिबाधा का उपयोग करता है। सर्किट तोड़ने के अलावा, वहां है इसे अनुकरण करने का कोई अच्छा तरीका नहीं है।

केवल विकल्प मुझे लगता है कि आप इन कर रहे हैं है।

  1. उपयोगकर्ता की आवश्यकता होती है डिवाइस को निकालना जब एक कॉल में आता है

  2. ड्राइव करने के लिए जैक पर एक माइक्रो प्रदान करें एक ट्रांजिस्टर; यह ट्रांजिस्टर एक अनप्लग्ड जैक के समान प्रतिबाधा हस्ताक्षर प्रदान करने के लिए सर्किट को इलेक्ट्रॉनिक रूप से तोड़ सकता है।

कैसे, कब, और कि एक फोन कॉल प्रगति पर है आप जैक के लिए जानकारी प्रदान मेरी ज्ञान से परे है सकते हैं, अगर: वहाँ "भेजे लेकिन अभी तक उत्तर नहीं कॉल" के लिए एक API है आप के लिए हुक कर सकते हैं ? क्या आपको अपने ऐप के साथ संचार सुनिश्चित करने के लिए वॉचडॉग चीज करना होगा? क्या आपके लिए डॉक कनेक्टर का उपयोग करना संभव होगा? मुझे लगता है कि ये वास्तव में आपके विकल्प हैं। पूरा जवाब नहीं है, लेकिन वे मेरे विचार हैं।