क्या निर्धारित करता है कि कौन सा एप्लिकेशन ब्लूटूथ AVRCP कमांड के लिए कार्य करता है?


18

पृष्ठभूमि: मेरे पास एक A2DP / AVRCP ब्लूटूथ हेडसेट ( Nokia BH-505 ) है, जिसका उपयोग मैं पॉडकास्ट और संगीत दोनों को सुनने के लिए सक्रिय रूप से करता हूं। बेशक, मैं अलग-अलग ऐप के साथ इन्हें सुनता हूं। ब्लूटूथ हेडसेट में कुछ "कमांड" (AVRCP) बटन होते हैं, जो ऑडियो के लिए प्रासंगिक हैं - विशिष्ट में: "अगला ट्रैक", "पिछला ट्रैक" और "प्ले / पॉज़"

वर्तमान में जब भी मैं किसी भी कमांड को दबाता हूं, तो मेरे द्वारा स्थापित संगीत खिलाड़ियों में से एक ( मेरिडियन ) हमेशा कमांड प्राप्त करता है - तब भी जब यह सक्रिय नहीं है। इसलिए जब मैं पॉडकास्ट ( डॉगकैचर ) को रोकने के लिए "प्ले / पॉज" पर क्लिक करता हूं , तो इसके बजाय मेरिडियन सक्रिय हो जाता है और पॉडकास्ट के साथ-साथ संगीत खेलना शुरू कर देता है।

दोनों खिलाड़ियों को हेडसेट का उपयोग करने के लिए निर्धारित किया जाता है: डॉगकैचर ने "बिंद टू हेडसेट" चालू किया, और मेरिडियन ने "हेडसेट बटन्स" चालू किया। मैं वर्तमान में GT-S5570 पर अनरेटेड स्टॉक एंड्रॉइड 2.2.1 का उपयोग कर रहा हूं, लेकिन भविष्य में 2.3 CyanogenMod (या ऐसे) के लिए रूट और अपग्रेड हो सकता है।

बारीकियों को अनदेखा करते हुए, इस बारे में मेरा सवाल अधिक सामान्य है:

  • एंड्रॉइड यह कैसे निर्धारित करता है कि इन कमांड पर प्रतिक्रिया करने के लिए कौन सा ऐप प्राप्त होता है मैं भी एक बहुत techincal जवाब में दिलचस्पी रहा हूँ।

जिस व्यावहारिक पक्ष में मेरी रुचि है:

  • क्या मुझे यह निर्धारित करने के लिए प्रत्येक एप्लिकेशन सेटिंग्स के साथ फिडेल करना है कि कौन सा एप्लिकेशन कमांड लेता है, या क्या यह निर्धारित करने का कुछ सामान्य तरीका है?
  • क्या इसे कॉन्फ़िगर करने का कोई तरीका है ताकि जो एप्लिकेशन वास्तव में सक्रिय है वह हमेशा प्राथमिकता प्राप्त करे? (जैसा कि एक अन्य प्रश्न में आंशिक रूप से पूछा गया था )

यह प्रश्न समान प्रश्नों से कैसे भिन्न है:


1
मैंने एंड्रॉइड डेवलपर ब्लॉग से इससे संबंधित कुछ अच्छी जानकारी प्राप्त करने का प्रबंधन किया - उचित तरीके से चर्चा करते हुए कि यह 2.2 में अनुप्रयोगों द्वारा लागू किया जाना चाहिए : "एक दूसरे के साथ अच्छे (आर) खेलने के लिए एप्लिकेशन को अनुमति देना: रिमोट कंट्रोल बटन को हैंडल करना"
इलारी काजस्ट

2016 में यह अभी भी एक समस्या है - iOS से आगे बढ़ते हुए यह मेरे लिए अब तक के एंड्रॉइड का सबसे अधिक परेशान करने वाला हिस्सा हो सकता है: /
Squazz

जवाबों:


11

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

क्या AVRCP को जटिल बनाता है: सोनी के म्यूजिक अनलिमिटेड जैसे कुछ ऐप, android.intent.action.MEDIA_BUTTONउनके प्रकट रूप में घोषित नहीं करते हैं। इस (या शायद कुछ अन्य) कारण के लिए उन्हें मीडिया-बटन-राउटर के माध्यम से नियंत्रित नहीं किया जा सकता है। मुझे पता है कि उदाहरण के लिए म्यूजिक अनलिमिटेड को AVRCP के माध्यम से नियंत्रित किया जा सकता है क्योंकि मैंने इसे एक उपयोगकर्ता टिप्पणी में पढ़ा था और साथ ही मैं इसे एक बार चलाने में सक्षम था लेकिन दुर्भाग्य से यह प्रतिलिपि प्रस्तुत करने योग्य नहीं है। तो उन मामलों में ऐसा लगता है कि हमें एवीआरसीपी ईवेंट हैंडलिंग के स्वच्छ कार्यान्वयन के साथ ऐप के अपडेट का इंतजार करना होगा।

के अनुसार मीडिया बटन रूटर का विकी "मीडिया बटन आशय से निपटने का आदेश दिया प्रसारण के माध्यम से किया जाता है, और प्रत्येक अनुप्रयोग सेट इसे प्राप्त करने के लिए खुद का प्राथमिकता है।" तो हो सकता है कि यह एक ऐप लिखना संभव हो जो कि प्राथमिकताओं को प्रदर्शित करता है और, वास्तव में, आपको यह निर्धारित करने की अनुमति देगा कि आवेदन क्या शुरू होगा। हालाँकि, मैं ऐसे किसी ऐप के बारे में नहीं जानता।



0

शायद यह थोड़ा मदद करेगा:

सैमसंग S5 -> ब्लूटूथ रिसीवर + कान फोन प्लग में

मैं सैमसंग S5 का उपयोग कर रहा हूं, पहले 7digital ऐप के साथ संगीत डाउनलोड करने और खेलने के लिए। फिर मैंने क्लाउडप्लेर को बदल दिया और उपयोग किया। लेकिन हर बार जब क्लॉपरर खेल रहा होता है और मैं अपने ब्लूटूथ रिसीवर पर पॉज़ / प्ले बटन दबाता हूं तो मेरा 7digital ऐप म्यूज़िक बजाना शुरू कर देगा। मैं Cloudplayer की ओर ब्लूटूथ प्ले / पॉज़ को बदलने के लिए कोई सेटिंग नहीं बदल सका। मैंने तब अपने सभी 7digital डाउनलोड किए गए संगीत को हटा दिया और फिर से कोशिश की। समस्या सुलझ गयी! Play / ठहराव किसी तरह अब Cloudplayer से जुड़ा हुआ है।


0

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

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


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.