2010-04-06 6 views
30

क्या किसी ने एंड्रॉइड के लिए ओपनएएल बनाया है, या सिस्टम पर इसके लिए साझा लाइब्रेरी पाई है? यह किसी भी तरह के खेल के लिए एक स्पष्ट आवश्यकता की तरह लगता है, फिर भी इसके लिए कोई संसाधन नहीं है। ऐसा लगता है कि एंड्रॉइड जावा ध्वनि लाइब्रेरी जो कुछ मैं बता सकता हूं उससे पिच परिवर्तन नहीं कर सकता, इसलिए ओपनएएल की आवश्यकता है। मुझे पता है कि ओपनएएस सॉफ्ट को एएलएसए के शीर्ष पर बनाया जा सकता है, लेकिन मुझे यकीन नहीं है कि किसी ने ऐसा किया है, और मुझे यकीन है कि यह मुझे एक महीने लगेगा।एंड्रॉइड ओपनएएल?

यदि ओपनल के बिना एंड्रॉइड पर ध्वनि कुशलता पर कहीं अच्छी मार्गदर्शिका है, तो यह भी ठीक है। यह सिर्फ ओपनएएल गेम निर्माताओं के लिए एक मानक है और यह मेरी प्रणाली के हजारों लाइनों को इस प्रणाली पर बंद करना अच्छा होगा, जिस तरह से मैंने सोचा था कि एनडीके का मुद्दा यह था कि मैंने इसमें प्रवेश किया और देखा कि लगभग कोई नहीं है सिस्टम पर साझा पुस्तकालय का उपयोग।

धन्यवाद .. मुझे आशा है कि मैं वास्तव में जावा विशेषज्ञ बनने के बिना बंदरगाह कर सकता हूं। अब तक एनडीके को वास्तव में नापसंद कर रहा है!

उत्तर

-3

आप ओपनएएल बनाने और इसे अपने एपीके के साथ पैकेज करने के लिए एनडीके का उपयोग कर सकते हैं। इस तरह आप इसे अपने मूल कोड से एक्सेस कर सकते हैं।

+2

आप एनडीके से किसी भी समर्थित तरीके से निम्न-स्तरीय ध्वनि API (ALSA आदि) तक नहीं पहुंच सकते हैं, इसलिए नहीं, आप यह नहीं कर सकते हैं। – SomeCallMeTim

+0

तो एकमात्र एपीआई जिसका उपयोग किया जा सकता है वह है कि एक जावा: android.media? – RzR

+0

नहीं, आप जावा में ध्वनिपूल और ऑडियोटैक (जो निम्न स्तर है) का उपयोग भी कर सकते हैं, साथ ही अब मूल कोड में opensl es। –

5

ओपनएसएल भविष्य के एंड्रॉइड बिल्ड के लिए योजनाबद्ध है; ओपनएएल उपलब्ध नहीं है, और निम्न स्तर के हार्डवेयर एनडीके में आप जो कुछ भी कर सकते हैं, उससे ऑफ-सीमा है, इसलिए आप सुरक्षित रूप से इसे स्वयं नहीं बना सकते हैं।

कम-विलंबता ऑडियो के लिए भी कोई समर्थन नहीं है; क्या यहां उस प्रभाव के लिए एक बग है:

http://code.google.com/p/android/issues/detail?id=3434

स्टार यह अगर यह आपके लिए प्रासंगिक है; शायद Google सुनेंगे अगर यह पर्याप्त सितारों को प्राप्त करता है।

संपादित करें: एंड्रॉइड 4.0+ में कम विलंबता ऑडियो है, और ओपनएसएल अब उपलब्ध है। इस पृष्ठ और लिंक किए गए पृष्ठ देखें: http://source.android.com/devices/audio/latency.html ओपनएसएल पर एनडीके गाइड भी देखें।

8

Google ने घोषणा की कि 3 डी ऑडियो एंड्रॉइड 2.3 में शामिल किया जा रहा है, मैं एंड्रॉइड के लिए ओपनल संकलित करने में कामयाब रहा, और इसे साझा ऑब्जेक्ट के रूप में पैकेज करता हूं।

http://pielot.org/2010/12/14/openal-on-android/

देखें अभी भी उपयोगी हो सकता है अगर आप उपकरणों < 2.3 लक्षित करना चाहते हैं।

चीयर्स।

+1

मार्टिन के उत्तर को विस्तारित करने के लिए: वह कुछ उच्च स्तर के उदाहरण [यहां] (http://pielot.org/2011/11/10/openal4android-2/) भी देता है। संपादन के बाद –

31

कुछ विकल्पों NDK ऑडियो के लिए अब उपलब्ध हैं:

  1. यह OpenAL नहीं है, लेकिन OpenSL ES 1.0.1 एपीआई स्तर 9 (2.3) के रूप में NDK के एक अधिकारी हिस्सा है। अधिक जानकारी here

  2. OpenAL Soft में इसके गिट मास्टर (ओपन संस्करण 1.13 के रूप में जारी नहीं) में ओपनएसएल ईएस बैकएंड है। हालांकि इस समय एंड्रॉइड पर टूटा हुआ है, क्योंकि यह ओपनएसएल ईएस 1.1 के लिए लिखा गया है, 1.0.1 नहीं। एक फिक्स के लिए this commit देखें।

  3. जैसा कि पिछले उत्तर में बताया गया है, ओपनल सॉफ़्ट के लिए जेएनआई बैकएंड here से प्री-2.3 एंड्रॉइड प्लेटफ़ॉर्म पर ओपनएएल के लिए एकमात्र विकल्प के रूप में लिंक और वर्णित है। हालांकि, यह ओपनल सॉफ्ट की पुरानी कांटा है - मैंने बैकएंड को ओपनएसएल ईएस 1.0.1 फिक्स के साथ नवीनतम संस्करण on a github repo here में अपडेट किया है। इसमें एक untested optional patch भी शामिल है जो बेहतर प्रदर्शन और कम विलंबता प्रदान करने का दावा करता है।

+1

+1। पुराने प्रश्नों पर पोस्टिंग (अच्छे) उत्तरों को सकारात्मक रूप से प्रोत्साहित किया जाता है, यही कारण है कि [इसके लिए बैज दिए गए हैं] (http://stackoverflow.com/badges/17/necromancer)। – Flexo

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