2013-03-14 6 views
6

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

मुझे आश्चर्य है कि मैं दो माइक्रोफोन के सिग्नल को स्वतंत्र रूप से कैसे एक्सेस कर सकता हूं? या माइक्रोफोन में से एक बंद करें?

किसी भी विचार या टिप्पणी का स्वागत है। बहुत बहुत धन्यवाद।

+0

मैंने सफलतापूर्वक दो mics से संकेतों को अलग किया। जिस विधि का मैंने उपयोग किया वह माइकल प्रदान किया गया था। सरणी में 0,2,4 नीचे माइक्रो है और 1,2,5 ... शीर्ष पर माइक है। – Foreverniu

+0

क्या आप माइकल के उत्तर का उपयोग करके एमआईसी को अलग करने पर अपना कोड साझा करना चाहते हैं? मुझे एक ही समस्या है। धन्यवाद – nLL

+0

@Foreverniu: क्या आपके लिए कोड स्निपेट साझा करना संभव होगा? –

उत्तर

10

मैं Galaxy S3 विशेष रूप से परिचित नहीं हूँ, लेकिन निम्नलिखित उपकरणों के बहुमत मैं के साथ काम किया के लिए सच है:

  • प्राथमिक उपयोग करें या करने के लिए है कि क्या चयन करने का कोई विश्वसनीय तरीका उपलब्ध नहीं है एक मोनो रिकॉर्डिंग के लिए माध्यमिक माइक। MIC ऑडियोसोर्स आमतौर पर का अर्थ है मोनो रिकॉर्डिंग करते समय प्राथमिक माइक, और CAMCORDER स्रोत का अर्थ माध्यमिक माइक हो सकता है। लेकिन इसके लिए कोई गारंटी नहीं है, क्योंकि यह निर्भर करता है उदा। एमआईसीएस के भौतिक प्लेसमेंट पर।

  • मोनो में रिकॉर्डिंग प्रभावी रूप से अन्य माइक बदल जाता है, और जो कुछ भी शोर कम करने के लिए किया जाता है एक माइक से केवल संकेत का उपयोग करता है (इसलिए गतिशील शोर का कोई कमी नहीं करने के लिए कम है)।
    यह एक अपवाद हो सकता है यदि आप वॉइस कॉल के दौरान रिकॉर्ड करते हैं जहां शोर दमन को अपलिंक करने के लिए दोनों mics पहले से ही सक्षम किए गए हैं।
    यदि आप VOICE_RECOGNITION ऑडियोसोर्स का उपयोग करते हैं तो एक और अपवाद हो सकता है, क्योंकि कुछ विक्रेता इस उपयोग-मामले में एक या अधिक अतिरिक्त mics का उपयोग करके सिग्नल पर शोर दमन लागू करते हैं।

  • 2-mic डिवाइस पर दोनों mics से स्टीरियो रिकॉर्ड में रिकॉर्डिंग। बाएं चैनल में एक माइक से इनपुट होता है और दाएं चैनल में अन्य माइक से इनपुट होता है, लेकिन इस बात की कोई गारंटी नहीं है कि कौन से भौतिक माइक चैनल से मेल खाते हैं (फिर, प्लेसमेंट पर निर्भर करता है)।

+0

धन्यवाद। मुझे लगता है कि आपकी प्रतिक्रिया बहुत अच्छी है। मेरे पास सिर्फ एक अतिरिक्त प्रश्न है: यदि मैं स्टीरियो रिकॉर्ड्स का उपयोग करता हूं, जैसे ENCODING_PCM_16BIT, क्या आप जानते हैं कि प्रत्येक चैनल के सिग्नल को अलग कैसे करें? मैं एंड्रॉइड से सिग्नल प्राप्त करने के लिए ऑडियोऑकोरॉर्ड का उपयोग करता हूं। वास्तव में आपकी मदद की सराहना करते हैं। – Foreverniu

+4

पीसीएम_16 बीआईटी केवल प्रत्येक नमूने के संकल्प को प्रभावित करता है। स्टीरियो प्राप्त करने के लिए आपको रिकॉर्डिंग के लिए दो चैनलों का अनुरोध करना चाहिए। चैनलों को अलग करने के लिए, बस पीसीएम स्ट्रीम से वैकल्पिक नमूनों को पढ़ें (मान लीजिए कि आप 'ऑडियो रिकॉर्डॉर्ड' वर्ग का उपयोग कर रहे हैं)। यही है, आपके 'लघु []' में ऑफसेट्स 0,2,4,6 ... बाएं चैनल के नमूने होते हैं, और ऑफ़सेट 1,3,5,7 ... सही चैनल नमूने होते हैं। – Michael

+0

आपका उत्तर कमाल है। बस एक पुष्टि: रिकॉर्डिंग के लिए दो चैनलों की आवश्यकता के लिए, क्या नीचे दिया गया कोड सही है? रिकॉर्डर = नया ऑडियो रिकॉर्ड (ऑडियोसोर्स.एमआईसी, iSampleRate, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT, iAudioBufferSize); धन्यवाद। – Foreverniu

संबंधित मुद्दे