सामग्री पर जाएँ

पर्दे के पीछे

बिना रूट के Android पर हर ऐप का वॉल्यूम कैसे काम करता है

llcloud टीम की ओर से 6 मिनट में पढ़ें

छोटा जवाब

Android वॉल्यूम आवाज़ की क़िस्म के हिसाब से तय करता है, जैसे मीडिया, रिंगटोन और अलार्म, इसलिए मीडिया चलाने वाले सभी ऐप एक ही स्लाइडर साझा करते हैं। AppVolume हर ऐप की प्लेबैक पर एक ऑडियो इफ़ेक्ट जोड़कर और उसका गेन घटा-बढ़ाकर उसे अपना स्तर देता है। कौन-सा ऐप चल रहा है यह जानने के लिए एक डेवलपर अनुमति चाहिए, जो AppVolume वायरलेस डीबगिंग और छह अंकों के पेयरिंग कोड से एक बार लेता है, बिना रूट, कंप्यूटर या एक्सेसिबिलिटी सेवा के।

गेम की आवाज़ घटाइए और पॉडकास्ट भी साथ घट जाता है। दिशा-निर्देश की आवाज़ बढ़ाइए और संगीत भी उछल जाता है। Android पर जो भी दो चीज़ें एक साथ चलाता है, उसका देर-सबेर इससे सामना होता है। हमने इसे ठीक करने के लिए AppVolume बनाया, और वह जैसे काम करता है, उससे पता चलता है कि Android आवाज़ को कैसे संभालता है। सीधे शब्दों में यह रहा।

Android में मीडिया वॉल्यूम सिर्फ़ एक क्यों है?

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

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

हर ऐप का वॉल्यूम देने वाले दूसरे ऐप कैसे काम करते हैं?

कई वॉल्यूम ऐप देखते रहते हैं कि कौन-सा ऐप सामने है, और ऐप बदलने पर वह एक मीडिया वॉल्यूम बदल देते हैं। गेम खोलिए तो मीडिया वॉल्यूम गिर जाता है। पॉडकास्ट ऐप पर जाइए तो वापस चढ़ जाता है। एक समय में एक ऐप के लिए यह चल सकता है, पर स्लाइडर फिर भी एक ही है। साथ चलते दो ऐप, जैसे नेविगेशन के नीचे संगीत, हमेशा एक स्तर साझा करते हैं।

इनमें से कुछ ऐप्स को एक्सेसिबिलिटी सेवा भी चाहिए, ताकि वे देख सकें कि स्क्रीन पर कौन-सा ऐप है या वॉल्यूम बटन पकड़ सकें। इतने छोटे काम के लिए यह बहुत ताक़तवर अनुमति है।

AppVolume हर ऐप को अपना स्तर कैसे देता है?

Android में ऑडियो इफ़ेक्ट का एक सेट है, जैसे इक्वलाइज़र और डायनामिक्स प्रोसेसर, जिसे ऐप प्लेबैक के किसी टुकड़े पर जोड़ सकता है, जिसे Android ऑडियो सेशन कहता है। उनमें से एक अपने से गुज़रती आवाज़ का गेन बढ़ा या घटा सकता है। AppVolume उस इफ़ेक्ट को उन ऐप्स के सेशन पर जोड़ता है जिनका स्तर आप तय करते हैं, और उसका गेन आपके स्लाइडर से सेट करता है।

इसलिए बदलाव सिर्फ़ उसी ऐप की आवाज़ में होता है, स्पीकर तक पहुँचने से पहले। 80% पर पॉडकास्ट और 20% पर गेम सच में एक ही समय उन्हीं स्तरों पर बजते हैं। यही इफ़ेक्ट Pro में किसी धीमे ऐप को 200% तक बढ़ाता है और उसका बैलेंस बाएँ या दाएँ खिसकाता है।

AppVolume आपका ऑडियो कभी न सुनता है, न रिकॉर्ड करता है, न भेजता है। वह आपकी स्क्रीन या वॉल्यूम बटन पर नज़र नहीं रखता, और उसके पास कोई एक्सेसिबिलिटी सेवा नहीं है। वह बस एक स्तर घटाता-बढ़ाता है।

सेटअप में वायरलेस डीबगिंग और पेयरिंग कोड क्यों लगता है?

इफ़ेक्ट जोड़ने के लिए AppVolume को पहले पता होना चाहिए कि कौन-से सेशन हैं और हर एक किस ऐप का है। सिस्टम की ऑडियो सेवा एक स्टेटस रिपोर्ट रखती है जो उन्हें गिनाती है, और Android ऐप को उसे सिर्फ़ डेवलपर्स के लिए बनी एक अनुमति से पढ़ने देता है। ऐप वह अनुमति आम तरीक़े से माँग नहीं सकता। उसे सिर्फ़ फ़ोन का शेल दे सकता है, यानी पहुँच का वही स्तर जो कंप्यूटर को डीबगिंग केबल पर मिलता है, या रूट।

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

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

स्लाइडर के पीछे क्या होता है?

जो मिक्सर दूसरे ऐप्स की आवाज़ छूता है, उसे सावधान रहना पड़ता है, क्योंकि गलती तेज़ आवाज़ में सुनाई देती है। इसलिए AppVolume कुछ नियम मानता है:

  • अज्ञात का मतलब ख़ामोशी नहीं। अगर स्टेटस रिपोर्ट पढ़ी न जा सके, तो AppVolume कुछ नहीं बदलता। उसे “कुछ नहीं चल रहा” पढ़ना हर इफ़ेक्ट गिरा देता और हर ऐप को एक साथ पूरे वॉल्यूम पर लौटा देता।
  • गया का मतलब दो बार गया। इफ़ेक्ट छोड़ने से पहले किसी सेशन का लगातार दो रीड में ग़ायब होना ज़रूरी है, ताकि पल भर की कमी से आवाज़ उछल न जाए।
  • आपके स्तर याद रखे जाते हैं। किसी ऐप को एक बार सेट करें, उसके चलने से पहले भी, और स्तर हर बार उसके शुरू होने पर लागू होता है।
  • रिफ़ंड किसी को बाहर नहीं करता। जिस ऐप का स्तर पहले से तय है, उसे हमेशा वापस ऊपर किया जा सकता है।

ईमानदार सीमाएँ क्या हैं?

ऑडियो इफ़ेक्ट से हर-ऐप-वॉल्यूम आवाज़ चलाने वाले ज़्यादातर ऐप्स के साथ चलता है, सबके साथ नहीं।

  • कुछ ऐप एडजस्ट नहीं हो सकते। कुछ ऑडियो ऐसे रास्तों से चलाते हैं जहाँ Android कोई इफ़ेक्ट पहुँचने नहीं देता, जैसे कम-लेटेंसी ऑडियो वाले कुछ गेम। AppVolume फ़ैसला करने से पहले करीब डेढ़ मिनट में कई बार कोशिश करता है, फिर आपको बताता है और ऐप पर निशान लगा देता है, ऐसा स्लाइडर छोड़ने की जगह जो कुछ न करे।
  • पल भर पूरे स्तर पर आवाज़ आ सकती है। जब कोई ऐप बजना शुरू करता है, तो इफ़ेक्ट जुड़ने से पहले उसकी आवाज़ शुरू हो सकती है।
  • इक्वलाइज़र ऐप क़ब्ज़ा कर सकते हैं। अगर आप कोई इस्तेमाल करते हैं, तो वह उसी ऑडियो पर नियंत्रण ले सकता है, और दोनों एक-दूसरे के रास्ते में आ सकते हैं।
  • ऐप के छोड़ने तक इफ़ेक्ट टिके रहते हैं। अगर कोई ऐप बजते समय आप AppVolume अनइंस्टॉल करें, तो वह ऐप अपना ऑडियो छोड़ने तक अपना स्तर रखता है। Settings में एक बटन है जो पहले हर ऐप को पूरे वॉल्यूम पर रीसेट कर देता है।
  • यह एक सिस्टम रिपोर्ट पर निर्भर है। अगर Android का कोई आगे का वर्शन ऐप्स को उसे पढ़ने से रोक दे, तो मिक्सर यह देख नहीं पाएगा कि क्या बज रहा है। AppVolume ऐसे में अंदाज़ा लगाने की जगह कुछ न बदलने के लिए बना है।

कौन-सा हर-ऐप-वॉल्यूम ऐप आपके लिए ठीक है?

अगर आप मुख्य रूप से किसी एक ऐप को इस्तेमाल करते समय धीमा करना चाहते हैं, तो फ़ोरग्राउंड स्विचर काफ़ी हो सकता है। अगर आप चाहते हैं कि दो ऐप अलग स्तर पर साथ बजें, तो आपको ऐसा कुछ चाहिए जो हर ऐप की अपनी आवाज़ बदले। AppVolume बनाम Precise Volume इसके दो तरीक़ों की तुलना करता है, और Samsung वाले AppVolume बनाम Samsung Sound Assistant ज़रूर पढ़ें, क्योंकि Samsung अपना रास्ता देता है। जो भी चुनें, AppVolume में विज्ञापन और अकाउंट नहीं हैं, उन्हीं वजहों से जो हमारे ऐप्स में विज्ञापन क्यों नहीं हैं में हैं।

स्रोत

सवाल

Android में हर ऐप का वॉल्यूम क्यों नहीं होता?

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

क्या मैं बिना रूट हर ऐप का वॉल्यूम कंट्रोल कर सकता हूँ?

हाँ। AppVolume को न रूट चाहिए, न कंप्यूटर। उसे एक अनुमति चाहिए जो सिर्फ़ फ़ोन के डेवलपर टूल्स दे सकते हैं, और वह फ़ोन पर ही उसे पाने के क़दम बताता है: वायरलेस डीबगिंग चालू करें, छह अंकों का पेयरिंग कोड डालें, बस। अनुमति रीस्टार्ट और अपडेट के बाद भी बनी रहती है, और अगर आप पहले से Shizuku या रूट इस्तेमाल करते हैं तो वे भी चलते हैं।

AppVolume को वायरलेस डीबगिंग क्यों चाहिए?

यह देखने के लिए कि कौन-सा ऐप कौन-सी आवाज़ चला रहा है, AppVolume सिस्टम की ऑडियो सेवा की एक स्टेटस रिपोर्ट पढ़ता है, और Android ऐप्स को उसे सिर्फ़ डेवलपर अनुमति से पढ़ने देता है। वह अनुमति सिर्फ़ फ़ोन का शेल दे सकता है। वायरलेस डीबगिंग वही तरीक़ा है जिससे फ़ोन AppVolume को एक बार, फ़ोन पर ही, शेल पहुँच देता है। सेटअप के बाद आप उसे फिर बंद कर सकते हैं।

क्या हर ऐप के साथ हर-ऐप-वॉल्यूम काम करता है?

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

आगे पढ़ें