2011-12-07 14 views
7

समस्या:कैसे कम विलंबता के साथ Android के ऑडियो का उपयोग करने

आपने सुना है हो सकता है, एंड्रॉयड कम विलंबता ऑडियो एपीआई के साथ प्रदान नहीं करता है। कम विलंबता ऑडियो का मेरा मतलब यह है कि आपको माइक्रोफ़ोन से ऑडियो सिग्नल प्राप्त करने में सक्षम होना चाहिए और बिना किसी समय के अंतराल के ध्वनि को चलाने में सक्षम होना चाहिए (उदाहरण के लिए, 5-7 एमएस)

मैंने पुराने जावा की कोशिश की है ऑडियो रिकॉर्ड और ऑडियोट्रैक) और "नया" ओपनएसएल ईएस। वे भयानक हैं और ऐप को अनुपयोगी बनाते हैं। The issue was well documented here. बीटीडब्ल्यू, आईओएस एपीआई लगभग 5-7 एमएस विलंबता उत्पन्न कर सकता है।

समाधान के लिए खोज रहे:

लेकिन मैं वैसे भी कम विलंबता ऑडियो करने के लिए कोशिश कर रहा हूँ। Something like this answer describes.

"हालांकि, मैं सिर्फ अपने स्वयं के कोड है कि आंतरिक रूप से मिश्रण किया लिख ​​कर संतोषजनक ढंग से इस लक्ष्य को हासिल करने में सक्षम था और केवल अंतिम मिश्रित उत्पादन खेलने के लिए निम्न स्तर के ऑडियो प्लेबैक एपीआई पहुँचा। उच्च नेट कॉम्पैक्ट फ्रेमवर्क में ध्वनि बजाने के कुछ तरीके सैद्धांतिक रूप से पॉलीफोनी के लिए सक्षम हैं, लेकिन व्यावहारिक रूप से वे (बहुत सारे ग्लिच, स्टटरिंग और विरूपण) काम करते हैं। "

क्या यह एंड्रॉइड के लिए समझ में आता है? An answer is discouraging.

तो मेरा प्रश्न। एंड्रॉइड के साथ 10 एमएस ऑडियो विलंबता हासिल करने का कोई तरीका नहीं है?

ईमानदार होने के लिए, मुझे जल्द ही कुछ समय में समाधान की उम्मीद नहीं है, लेकिन सिर्फ एक महान दिमाग की इस समस्या का उत्तर देने की इच्छा है।

उत्तर

3

ऑपरेटिंग सिस्टम को संशोधित किए बिना एंड्रॉइड डिवाइस पर कम विलंबता ऑडियो प्राप्त करने का कोई तरीका नहीं है, और फिर भी बहुत सारी विलंबता हार्डवेयर कार्यान्वयन से आ सकती है, इसलिए सॉफ़्टवेयर इसे ठीक नहीं कर सकता है। यह दुखद है क्योंकि लिनक्स कर्नेल < 5ms ऑडियो विलंबता में बहुत सक्षम है, और बहुत से एआरएम हार्डवेयर सभ्य विलंबता में सक्षम है। मेरे पास कस्टम Linux build running on an old Palm TX था और वास्तव में बहुत सभ्य विलंबता थी।

4

एंड्रॉइड 4.1+ में कम विलंबता ऑडियो एपीआई है जो आपको 10ms विलंबता से नीचे देनी चाहिए। हालांकि मूल्य हार्डवेयर द्वारा भिन्न होता है (एंड्रॉइड की समृद्ध विविध दुनिया में आपका स्वागत है)।

"एंड्रॉइड.hardware.audio.low_latency" के डिस्क्रिप्टर को भी कम विलंब समर्थन की कमी वाले उपकरणों के फ़िल्टर के लिए उपयोग किया जा सकता है।

जांच http://www.youtube.com/watch?v=Yc8YrVc47TI&feature=player_de%20tailpage#t=1366s

और इस: http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

3

रूप android.hardware.audio.pro की सुविधा का पालन एंड्रॉयड 6 वादों में शुरू होने वाले < 20ms राउंड ट्रिप बार है, जो हम मतलब < 10ms एक तरह से आशा कर सकते हैं।

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