ऑडियो के इंतज़ार का समय कम से कम रखने के लिए, हमारा सुझाव है कि आप Oboe का इस्तेमाल करें.
ओबो
Oboe, नेटिव ऑडियो का इस्तेमाल करता है. इसे Android 8.1 (एपीआई लेवल 27) और इसके बाद के वर्शन के लिए AAudio और OpenSL ES पर बनाया गया है. किसी डिवाइस के लिए सबसे कम संभावित लेटेन्सी पाने के लिए, setPerformanceMode(oboe::PerformanceMode::LowLatency) और setSharingMode(oboe::SharingMode::Exclusive) सेट करें. Oboe के बारे में ज़्यादा जानने के लिए, शुरुआती गाइड, README.md, और पूरी गाइड देखें. Oboe का इस्तेमाल करने वाले सैंपल ऐप्लिकेशन के लिए, Soundboard ऐप्लिकेशन देखें.
अगर आपको कम समय में नतीजे देने वाले ऐप्लिकेशन के लिए, Java में आउटपुट ऑडियो स्ट्रीम बनाने के लिए AudioTrack का इस्तेमाल करना है, तो PERFORMANCE_MODE_LOW_LATENCY मोड का इस्तेमाल करें.
लागू करने के लिए चेकलिस्ट
Android के नेटिव ऑडियो का इस्तेमाल करने के लिए:
- Android NDK डाउनलोड और इंस्टॉल करें.
- Oboe के लिए, शुरुआती निर्देश देखें.
- Oboe बिल्डर पर
setPerformanceMode(oboe::PerformanceMode::LowLatency)औरsetSharingMode(oboe::SharingMode::Exclusive)को कॉल करें. android.media.AudioManager.getProperty(java.lang.String)से मिले, सुझाए गए नेटिव बफ़र साइज़ और सैंपल रेट का इस्तेमाल करें.अपने कॉलबैक हैंडलर को छोटा रखें. साथ ही, उनमें सीपीयू का इस्तेमाल ज़्यादा न हो और वे अनिश्चित काल तक ब्लॉक न हों. प्रायॉरिटी इनवर्ज़न से बचें.
इनपुट और आउटपुट कॉलबैक हैंडलर के बीच और कॉलबैक हैंडलर और आपके ऐप्लिकेशन के बाकी हिस्सों के बीच कम्यूनिकेट करने के लिए, नॉन-ब्लॉकिंग एल्गोरिदम का इस्तेमाल करें.
android-ndk
अगर आपको Android नेटिव ऑडियो का इस्तेमाल करने के तरीके के बारे में कोई सवाल पूछना है, तो चर्चा वाले ग्रुप android-ndk में शामिल हों.
Oboe में गड़बड़ियों की शिकायत करना
अगर आपको Oboe का इस्तेमाल करने में समस्याएं आ रही हैं, तो गड़बड़ी की शिकायत करें.
वीडियो
- Oboe का इस्तेमाल शुरू करना
- कम लेटेंसी वाला ऑडियो - क्योंकि आपके कान अनमोल हैं (Android Dev Summit 2018)
- Android पर जीत हासिल करना - Android ऑडियो ऐप्लिकेशन को ऑप्टिमाइज़ करने का तरीका (Android डेवलपर चैलेंज 2018)
- Android पर हाई परफ़ॉर्मेंस ऑडियो (Google I/O 2013)
- Android पर शानदार मल्टीमीडिया अनुभव देना (Google I/O 2014)
- ऑडियो के इंतज़ार का समय: बफ़र का साइज़ (100 Days of Google Dev)