Android Q ऐप्स को अन्य ऐप्स से ऑडियो रिकॉर्ड करने और डिवाइस के तापमान की निगरानी करने देगा

Android Q किसी अन्य ऐप से आंतरिक ऑडियो आउटपुट रिकॉर्ड करने और डिवाइस के तापमान की निगरानी करने के लिए एक नया एपीआई जोड़ता है।

गूगल देता है, और गूगल छीन लेता है। प्रत्येक नया एंड्रॉइड रिलीज़ बहुत सारे नए एपीआई पेश करता है जो या तो मौजूदा ऐप्स की कार्यक्षमता में सुधार करता है या ऐप्स की नई श्रेणियां खोलता है। दूसरी ओर, Google एंड्रॉइड प्लेटफ़ॉर्म की सुरक्षा में सुधार के लिए मौजूदा एपीआई की क्षमताओं तक पहुंच को हटा देता है या प्रतिबंधित कर देता है। Android Q रिलीज़ भी अलग नहीं है, और हम पहले ही साझा स्टोरेज, क्लिपबोर्ड एक्सेस, नोटिफिकेशन और अन्य एपीआई में इसके बदलावों के बारे में बहुत सारी बातें कर चुके हैं। इस वर्ष में Google I/O डेवलपर सम्मेलन में, Google ने Android Q में नए API की घोषणा की जो उपयोगकर्ताओं और मोबाइल गेम डेवलपर्स के लिए विशेष रूप से दिलचस्प हैं: AudioPlaybackCapture और थर्मल एपीआई.

Android Q में AudioPlaybackCapture के साथ अन्य ऐप्स से ऑडियो रिकॉर्ड करना

मोबाइल गेमिंग एक बहुत बड़ा उद्योग है जिसके जल्द ही धीमा होने के कोई संकेत नहीं हैं, खासकर यू.एस., चीन और भारत जैसे बाजारों में। चूँकि अधिक लोग गेमिंग और सोशल मीडिया के लिए अपने स्मार्टफ़ोन पर समय बिता रहे हैं, इसमें कोई आश्चर्य की बात नहीं है कि लोग अपने गेमिंग अनुभवों को ऑनलाइन साझा करना चाहते हैं।

एंड्रॉइड ने मूल रूप से शुरुआत से ही स्क्रीनशॉट लेने का समर्थन किया है, लेकिन स्क्रीन के वीडियो कैप्चर करने का समर्थन केवल एंड्रॉइड 5.0 लॉलीपॉप की शुरुआत के बाद से किया गया है। मीडियाप्रोजेक्शन एपीआई. अफसोस की बात है, यह एपीआई तीसरे पक्ष के ऐप्स को अन्य ऐप्स में आंतरिक ऑडियो आउटपुट रिकॉर्ड करने की अनुमति नहीं देता है, डिवाइस के माइक्रोफ़ोन से बाहरी ऑडियो आउटपुट रिकॉर्ड करने के लिए तृतीय-पक्ष स्क्रीन रिकॉर्डर को बाध्य करना (एस)। सैमसंग और जैसे ओईएम हुवाई स्क्रीन रिकॉर्डिंग के दौरान आंतरिक ऑडियो आउटपुट रिकॉर्ड करने के लिए सिस्टम ऐप्स प्रदान करें, लेकिन यह एकमात्र तरीका है अन्य उपकरणों के मालिकों को अपने उपकरणों से वीडियो और ऑडियो आउटपुट को ठीक से रिकॉर्ड करने के लिए खरीदना होगा ए तृतीय-पक्ष सहायक उपकरण. सौभाग्य से, Google अंततः एंड्रॉइड Q में तृतीय-पक्ष ऐप्स के लिए अन्य ऐप्स से ऑडियो रिकॉर्ड करने का एक तरीका पेश कर रहा है।

Google द्वारा AudioPlaybackCapture API को स्क्रीन कैप्चर के एनालॉग के रूप में वर्णित किया गया है, लेकिन ऑडियो रिकॉर्डिंग के लिए। हालाँकि एपीआई का उपयोग करने वाला अब तक का एकमात्र ऐप Google का है लाइव कैप्शन, एक एक्सेसिबिलिटी टूल जो डिवाइस पर चलाए जा रहे किसी भी वीडियो, एपीआई में कैप्शन जोड़ता है दस्तावेज़ीकरण में कहा गया है कि इसका प्राथमिक उद्देश्य स्ट्रीमिंग ऐप्स को ऑडियो कैप्चर करने की अनुमति देना है खेलों द्वारा खेला जाता है. सोचिए कि मोबाइल गेमर्स अपने सत्रों को ट्विच या यूट्यूब जैसी सेवाओं पर स्ट्रीम कर रहे हैं। एपीआई को उस ऐप की ऑडियो विलंबता को प्रभावित नहीं करने के लिए डिज़ाइन किया गया है जिसका ऑडियो कैप्चर किया जा रहा है, जो इसे गेमप्ले रिकॉर्डिंग के लिए एकदम सही बनाता है ताकि ऑडियो और वीडियो डीसिंक न हो जाएं।

एंड्रॉइड के शुरुआती दिनों के विपरीत, नए एपीआई के लिए Google का दृष्टिकोण अधिक सतर्क है। ऑडियोप्लेबैककैप्चर का उपयोग केवल तभी किया जा सकता है जब दोनों ऐप जिसका ऑडियो कैप्चर किया जा रहा है और कैप्चरिंग करने वाला ऐप विशिष्ट आवश्यकताओं को पूरा करते हैं। यहां उन आवश्यकताओं का सारांश दिया गया है:

  • किसी ऐप के ऑडियो को तीसरे पक्ष के ऐप द्वारा कैप्चर करने के लिए, निम्नलिखित आवश्यकताओं को पूरा किया जाना चाहिए:
    • ऐप को अपने मेनिफेस्ट में 'allowAudioPlaybackCapture' को या तो सही पर सेट करना होगा या अनसेट करना होगा। (यह Android Q को लक्षित करने वाले ऐप्स के लिए डिफ़ॉल्ट रूप से सत्य है, लेकिन Android Pie को लक्षित करने वाले ऐप्स के लिए इसे मैन्युअल रूप से सेट किया जा सकता है।)
    • ऑडियो बनाने वाले ऐप का ऑडियो उपयोग USAGE_MEDIA, USAGE_GAME, या USAGE_UNKNOWN प्रकार का होना चाहिए।
    • ऑडियो कैप्चर नीति (setAllowedCapturePolicy) को ALLOW_CAPTURE_BY_ALL पर सेट किया जाना चाहिए। इस नीति को रनटाइम पर सेट किया जा सकता है, लेकिन नीति परिवर्तन को प्रभावी करने के लिए प्लेबैक को पुनरारंभ करना होगा। यदि ALLOW_CAPTURE_BY_SYSTEM सेट है, तो केवल सिस्टम ऐप्स ही ऑडियो रिकॉर्ड कर सकते हैं (लेकिन इसमें प्रतिबंधित हैं) कि वे ऑडियो को सहेज नहीं सकते हैं, इसे किसी तृतीय-पक्ष ऐप को नहीं दे सकते हैं, या > 16kHz 16-बिट मोनो पर रिकॉर्ड नहीं कर सकते हैं गुणवत्ता।)
  • किसी ऐप को दूसरे ऐप से ऑडियो रिकॉर्ड करने के लिए, निम्नलिखित आवश्यकताओं को पूरा करना होगा:
    • ऐप को MediaProjectionManager.createScreenCaptureIntent प्रॉम्प्ट लाना होगा और उपयोगकर्ता को इसे स्वीकार करना होगा।
      पुष्टिकरण संवाद जो उपयोगकर्ता तब देखते हैं जब कोई ऐप MediaProjection API का उपयोग करके स्क्रीन कैप्चर करने का प्रयास करता है।
    • ऐप को होल्ड करना होगा ध्वनि रिकॉर्ड करें अनुमति।
    • ऐप को उसी उपयोगकर्ता प्रोफ़ाइल में होना चाहिए जिस ऐप का ऑडियो रिकॉर्ड किया जाएगा।

मुझे लगता है कि अधिकांश गेम इस नए एपीआई का उपयोग करके अपने ऑडियो को ऐप्स द्वारा कैप्चर करने की अनुमति देंगे, लेकिन गेम को इसका समर्थन करने के लिए अपडेट होने में कुछ समय लग सकता है। दूसरी ओर, लाइसेंस संबंधी समस्याओं के कारण किसी भी संगीत या वीडियो स्ट्रीमिंग ऐप से तीसरे पक्ष के लिए इस एपीआई का समर्थन करने की अपेक्षा न करें। हालाँकि, यदि कोई ऐप अपनी ऑडियो कैप्चर नीति को ALLOW_CAPTURE_BY_SYSTEM पर सेट करता है, तो Google ने जो सीमाएँ लगाई हैं, उनका मतलब है कि संगीत और वीडियो स्ट्रीमिंग ऐप्स के डेवलपर्स को पहुंच में सुधार के लिए सिस्टम द्वारा ऑडियो कैप्चर सक्षम करने से सहमत होना चाहिए।

Android Q में AudioPlaybackCapture API के बारे में अधिक पढ़ने के लिए देखें यह पृष्ठ.

Android Q में थर्मल एपीआई के साथ थ्रॉटलिंग की निगरानी करना

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

हालाँकि, Android Q में नए थर्मल एपीआई के साथ, ऐप्स प्रदर्शन थ्रॉटलिंग के विभिन्न चरणों के लिए कॉलबैक प्राप्त कर सकते हैं - दे रहे हैं डेवलपर्स को महत्वपूर्ण सीपीयू, जीपीयू या मॉडेम की आवश्यकता वाली गतिविधियों को कम करके डिवाइस पर तनाव को कम करने में मदद करने का मौका मिलता है उपयोग. उदाहरण के लिए, एक गेम गतिशील रूप से रिज़ॉल्यूशन को कम कर सकता है जब तक कि डिवाइस जीपीयू थ्रॉटलिंग न कर दे, या मैप्स ऐप उन्नत सुविधाओं को अक्षम कर सकता है जैसे संवर्धित वास्तविकता नेविगेशन सीपीयू पर लोड कम करने के लिए.

इस नए एपीआई का उपयोग करने के लिए, ऐप्स PowerManager (addThermalStatusListener) में एक श्रोता को पंजीकृत करते हैं और सिस्टम ऐप को निम्नलिखित थर्मल स्टेटस कोड में से एक भेजता है:

  • THERMAL_STATUS_NONE: "थ्रॉटलिंग के तहत नहीं।"
  • थर्मल_स्टेटस_लाइट: "जहां यूएक्स प्रभावित नहीं होता वहां लाइट थ्रॉटलिंग।"
  • THERMAL_STATUS_MODERATE: "मध्यम थ्रॉटलिंग जहां UX बड़े पैमाने पर प्रभावित नहीं होता है।"
  • थर्मल_स्टेटस_गंभीर: "गंभीर थ्रॉटलिंग जहां यूएक्स काफी हद तक प्रभावित होता है।"
  • थर्मल_स्टेटस_क्रिटिकल: "प्लेटफ़ॉर्म ने बिजली कम करने के लिए सब कुछ किया है।"
  • THERMAL_STATUS_EMERGENCY: "थर्मल स्थिति के कारण प्लेटफ़ॉर्म के प्रमुख घटक बंद हो रहे हैं। डिवाइस की कार्यक्षमताएं सीमित होंगी।"
  • थर्मल_स्टेटस_शटडाउन: "तुरंत शटडाउन की आवश्यकता है।

थर्मल एपीआई के लिए समर्थन के लिए स्पष्ट रूप से Android Q की आवश्यकता है, लेकिन एक अन्य आवश्यकता एक नए HAL को जोड़ना है। Google का कहना है कि Pixel डिवाइस Android Q पर हैं (मतलब Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, पिक्सेल 3ए, और पिक्सेल 3ए एक्सएल) थर्मल एपीआई का समर्थन करता है, लेकिन Google अन्य उपकरणों के लिए समर्थन जोड़ने पर काम कर रहा है।

के बारे में और पढ़ें थर्मल एपीआई यहाँ.