2012-05-19 7 views
5

किसी को भी पता है विधि का लौटे इकाई क्या है:getMaxAmplitude विधि के लौटा आयाम की इकाई क्या है?

MediaRecorder.getMaxAmplitude(); 

एंड्रॉयड MediaRecorder API दस्तावेज़ इंगित करता है केवल कि इस विधि पिछले कॉल के बाद नमूना बिंदुओं की अधिकतम पूर्ण आयाम देता है, लेकिन इकाई निर्दिष्ट नहीं करता । क्या यह पास्कल, मिली-पास्कल, अन्य में है?

+1

मुझे कल्पना है कि यह मनमाने ढंग से है; मुझे संदेह है कि यह किसी विशेष इकाई को कैलिब्रेटेड है। –

+0

आईथॉट भी बहुत लेकिन मुझे उम्मीद है कि यह नहीं है! मैं अभी भी देख रहा हूं लेकिन अब तक कोई सफलता नहीं मिली है। मुझे आशा है कि इस सवाल को और अधिक ध्यान मिलेगा। – Future2020

उत्तर

5

कुछ विस्तृत खोज के बाद खुद और कुछ कॉलेज इस निष्कर्ष पर आए हैं। इस प्रश्न का अभी तक जवाब मेरे ज्ञान के लिए पूर्ण नहीं थे, इसलिए मैं इस प्रश्न का अपना उत्तर लिख रहा हूं।

MediaRecorder.getMaxAmplitude() फ़ंक्शन हस्ताक्षरित 16-बिट पूर्णांक मान (0-32767) लौटाता है। उन मानों को संभवतः सामान्य सीडी-गुणवत्ता नमूना मानों के समान, abs32 (-32768 ... +32767 पर उपयोग करके गणना की जाती है। नकारात्मक आयाम सिर्फ प्रतिबिंबित होते हैं और इसलिए आयाम हमेशा सकारात्मक होता है।

मान किसी भी ठोस कैलिब्रेटेड भौतिक संपत्ति से संबंधित नहीं हैं। मान इसलिए हैं, 0-100% (उस माइक्रोफोन की अधिकतम वोल्टेज रेंज) से विद्युत उत्पादन का केवल 16-बिट डिजिटलकरण।

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

0

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

+0

@ हॉटपॉ 2: आपके उत्तर के लिए बहुत बहुत धन्यवाद। मैंने अपना जवाब पोस्ट किया है, मानते हैं कि एपीआई लौटाए गए मूल्यों के बारे में अधिक जानकारी के साथ यह आपके उत्तर से थोड़ा अधिक पूर्ण है। मुझे उम्मीद है कि यह भविष्य में दूसरों की मदद करेगा। – Future2020

3

MediaRecorder.getMaxAmplitude() मूल्यों की सीमा 0 और 32,767

के बीच

:

इकाइयों मानक नहीं हैं (ध्यान दें 32,767 एक हस्ताक्षरित पूर्णांक का अधिकतम मान है)।

मेरे ऐप्स में, मैं आम तौर पर 18000 से अधिक मूल्य "जोरदार" के रूप में मानता हूं, जो अधिकतम मूल्य का लगभग 50% है।

+0

@ ग्रेग: आपके उत्तर के लिए बहुत बहुत धन्यवाद। फिर भी यह वास्तविक अंशांकन के बिना जोर से संकेत देने के लिए, 18000 किसी भी दहलीज को सेट करने के लिए बहुत अविश्वसनीय है। मैंने अपना जवाब पोस्ट किया है, मानना ​​है कि यह आपके उत्तर से थोड़ा अधिक पूरा है। – Future2020

+0

मैं अधिकतम के करीब एक मान का उपयोग करने का सुझाव दूंगा। पसंद> 32,000। शोर के साथ मूल्य को अधिकतम करना आसान है। शायद यह उपकरणों में अधिक भरोसेमंद होगा। – gregm

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