ऑडियो स्विच करने के लिए सर्टिफ़िकेशन से जुड़े दिशा-निर्देश

सर्टिफ़िकेशन की तैयारी

  • टेस्ट डिवाइस तैयार करें.
    • आपके पास पांच Android डिवाइस होने चाहिए.
      • इन डिवाइसों में ये चीज़ें शामिल होनी चाहिए:
        • कम से कम एक Android T (13) और एक Android V (15) वर्शन होना चाहिए.
        • कम से कम एक Samsung और एक Pixel.
        • उदाहरण के लिए:
          • 1 OnePlus (Android 10).
          • 3 Samsung डिवाइस (Android 11, 12, 13).
          • एक Pixel (Android 15) हो.
    • ऑडियो स्विच की सुविधा के बिना एक डिवाइस:
      • iPhone, पीसी, ब्लूटूथ (बीटी) की सुविधा वाला कोई भी लैपटॉप या Android फ़ोन, जिसमें ऑडियो स्विच की सुविधा बंद हो.
        • ब्लूटूथ डिवाइस की जानकारी वाली सेटिंग में जाकर, ऑडियो स्विच करने की सुविधा को बंद किया जा सकता है.
      • मल्टीपॉइंट (MP) टेस्ट केस 2.8 के लिए ऐसे डिवाइस की ज़रूरत होती है जिसमें पांच टेस्ट फ़ोन के साथ ऑडियो स्विच न हो.
  • टेस्ट फ़ोन पर डीबग सूचनाएं दिखाने के लिए, अपने टेस्ट खातों से ऑडियो स्विच टेस्ट ग्रुप में शामिल हों.

    • इससे Google, Google Analytics की मदद से टेस्ट डेटा भी इकट्ठा कर सकता है.

A2DP+HFP की सुविधा वाला क्लासिक

  • पक्का करें कि सभी Android डिवाइसों पर GmsCore का 23.xx.xx या उसके बाद का वर्शन इंस्टॉल हो.

LE Audio के साथ BLE

  • कम से कम दो रेफ़रंस फ़ोन में LE Audio की सुविधा होनी चाहिए.
    • उदाहरण के लिए, एक Samsung फ़ोन और एक Pixel फ़ोन, जो LE Audio के साथ काम करता हो.
  • पक्का करें कि सभी Android डिवाइसों पर GmsCore का 24.33.xx या उसके बाद का वर्शन इंस्टॉल हो.

सर्टिफ़िकेशन का मानदंड

  • सभी टेस्ट केस में, टारगेट स्विच करने की सफलता दर 95% से ज़्यादा होनी चाहिए.
  • जिन टेस्ट में स्विच करने की ज़रूरत होती है उनमें कम से कम 75% मामलों में ऑडियो इवेंट ट्रिगर होने के बाद, प्रोफ़ाइल कनेक्शन और ऐक्टिव स्टेटस को स्विच करना तीन सेकंड के अंदर पूरा हो जाना चाहिए.

A2DP+HFP की सुविधा वाला क्लासिक

सेल्फ़-टेस्ट इन कॉम्बिनेशन में किए जाने चाहिए:

  • फ़ोन A=Android S (12) + फ़ोन B=Android T (13)
  • फ़ोन A=Android T (13) + फ़ोन B=Android S (12)

LE Audio के साथ BLE

सेल्फ़-टेस्ट इन कॉम्बिनेशन में किए जाने चाहिए:

  • फ़ोन A: BT Classic, फ़ोन B: BT Classic
  • फ़ोन A: LE Audio, फ़ोन B: BT Classic
  • फ़ोन A: BT क्लासिक, फ़ोन B: LE Audio

विकल्प के तौर पर, Dual LE Audio वाले कनेक्शन का इस्तेमाल करने वाली कंपनियों को इन चीज़ों की जांच करनी चाहिए:

  • फ़ोन A: LE Audio, फ़ोन B: LE Audio

जांच करने की गाइड

टेस्ट किए जा रहे डिवाइस (DUT) को तैयार करना

  • पुष्टि करें कि बीटी डिवाइस को पहले किसी ऐसे फ़ोन से जोड़ा न गया हो जिस पर टेस्टिंग के लिए इस्तेमाल किए जा रहे Google खाते से साइन इन किया गया हो.
    • अगर डिवाइस को टेस्टिंग के लिए इस्तेमाल किए जा रहे Google खाते से जोड़ा गया है, तो डिवाइस को अनलिंक करने के लिए यह तरीका अपनाएं:
      • जोड़े गए डिवाइसों में:
        • ब्लूटूथ की सेटिंग पर जाएं.
        • "डिवाइस की जानकारी मिटाएं" को चुनें.
        • हवाई जहाज़ मोड को चालू और बंद करने के लिए टॉगल करें.
    • पक्का करें कि "डिवाइसों को अपने-आप सेव करें" सेटिंग चालू हो.
      • यह स्विच डिफ़ॉल्ट रूप से बंद होता है.
      • यह विकल्प, सेटिंग > Google > डिवाइस > सेव किए गए डिवाइसों (हर डीयूटी के लिए एक) में जाकर देखा जा सकता है.
    • ब्लूटूथ डिवाइस को दूसरे डिवाइस से जोड़ने वाले मोड में रखें.
    • शुरुआती ब्लूटूथ डिवाइस जोड़ें (A).
    • बाद वाले ब्लूटूथ डिवाइसों (B, C, D वगैरह) से जोड़ें.

दायरा

  • सभी हेडसेट, ऑडियो स्विच सेल्फ़ टेस्ट टेंप्लेट में मौजूद अलग-अलग टैब से जांच करते हैं.
  • सिर्फ़ SinglePoint (SP) मोड का इस्तेमाल करने वाले हेडसेट पर ये काम करते हैं:
    • जेनेरिक_test टैब.
  • एमपी मोड का इस्तेमाल करने वाले हेडसेट पर ये काम किए जाते हैं:
    • जेनेरिक_test टैब.
    • Multipoint_only टैब.
  • एमपी हेडसेट, एसपी मोड में टॉगल किए जा सकते हैं. इनमें ये काम किए जा सकते हैं:
    • जेनेरिक_टेस्ट टैब, जिसमें MP की सुविधा बंद है.
    • एमपी चालू होने पर Generic_test टैब.
    • मल्टीपॉइंट मोड चालू होने पर, Multipoint_only टैब.

खुद को आराम देने और खुद की जांच करने की रिपोर्ट पूरी करें

A2DP+HFP की सुविधा वाला क्लासिक

  • डिवाइस B, मुख्य डीयूटी होगा.
    • टेंप्लेट के सबसे ऊपर मौजूद "फ़ोन" और "ओएस" फ़ील्ड में, डिवाइस B की जानकारी डालें.

टेस्ट केस का उदाहरण:

  • फ़ोन की जांच करना:

    • डिवाइस 1: Samsung (Android 13)
    • डिवाइस 2: Pixel (Android 12 या 13) और अन्य.
  • लागू किए गए टेस्ट:

    • 1 दौड़ें. डिवाइस A=Samsung S10+ (12), डिवाइस B=Pixel 7 pro (13) कॉलम D: फ़ोन=Pixel 7 pro, OS=Android 13
    • दूसरा चरण. डिवाइस A=Pixel 7 pro (13), डिवाइस B=Pixel 6(12) कॉलम E: फ़ोन=Pixel 6, OS=Android 12

खुद की जांच करने वाले टेंप्लेट में, पूरा हो चुका टेस्ट का उदाहरण:

इस इमेज में, उदाहरण के तौर पर दिए गए टेस्ट के नतीजे दिखाए गए हैं

LE Audio के साथ BLE

  1. डिवाइस A=Android V (15) + डिवाइस B=Android T (13)
  2. डिवाइस A=Android T (13) + डिवाइस B=Android V (15)
  3. डिवाइस A=Android T (13) + डिवाइस B=Android S (12)
  4. डिवाइस A=Android T (15) + डिवाइस B=Android V (15)
  5. डिवाइस B, मुख्य डीयूटी होगा.
    • टेंप्लेट के सबसे ऊपर मौजूद "फ़ोन" और "ओएस" फ़ील्ड में, डिवाइस B की जानकारी डालें.

टेस्ट केस का एक उदाहरण:

  • फ़ोन की जांच करना:

    • डिवाइस 1: Samsung (Android 13)
    • दूसरा डिवाइस: Pixel (Android 15) और अन्य.
  • लागू किए गए टेस्ट:

    • [LEA+BT]: डिवाइस A= Pixel 8 (15), डिवाइस B=Pixel 7 pro (13) कॉलम D: फ़ोन=Pixel 7 pro, OS=Android 13
    • [BT+LEA]: डिवाइस A=Pixel 7 (13), डिवाइस B=Pixel 8 (Android 15) कॉलम E: फ़ोन=Pixel 8, OS=Android 15
    • [BT+BT]: डिवाइस A=Pixel 7 pro (13), डिवाइस B=Samsung S10+ (12) कॉलम E: फ़ोन=Samsung S10+, OS=Android 12
    • [LEA+LEA]: डिवाइस A=Pixel 8 (15), डिवाइस B=Pixel 8(15) कॉलम E: फ़ोन=Pixel 8, OS=Android 15

खुद की जांच करने वाले टेंप्लेट में, पूरा हो चुका टेस्ट का उदाहरण:

इस इमेज में, उदाहरण के तौर पर दिए गए टेस्ट के नतीजे दिखाए गए हैं

ऑडियो इवेंट:

  • जांचे गए ऑडियो इवेंट और टेस्टिंग ऐप्लिकेशन, चार तरह के होते हैं:

    1. कॉल करें:
      1. पहले से मौजूद फ़ोन ऐप्लिकेशन.
    2. वीओआईपी: कोई भी वीओआईपी ऐप्लिकेशन काम करेगा, जैसे:
      1. ऑडियो स्विच करने के लिए इस्तेमाल होने वाला ऐप्लिकेशन.
      2. FB Messenger.
      3. लाइन.
      4. WhatsApp.
      5. Google Meet.
      6. Google Meet.
    3. मीडिया: सभी ऑडियो प्लेयर काम करेंगे, जैसे कि:
      1. ऑडियो स्विच की जांच करने वाला ऐप्लिकेशन.
      2. YouTube Music.
      3. Apple Music.
      4. Spotify.
      5. Google Podcasts.
    4. गेम:
      1. ऑडियो स्विच करने के लिए इस्तेमाल होने वाला ऐप्लिकेशन.

डीबग करने की जानकारी:

  • fp-sass-partner-test ग्रुप में शामिल होने के बाद, सूचनाएं चालू हो जाती हैं. यहां कुछ उदाहरण दिए गए हैं:

    • स्थिति की नई सूचना:

    इमेज 1: इसमें 'हाल ही की स्थिति की सूचना' मैसेज दिखाया गया है.

    • स्विच करने की सूचना नहीं है:

    इमेज 2: इसमें 'स्विच न होने की सूचना' मैसेज दिखाया गया है.

    • इंतज़ार का समय बदलने की सूचना:

    इमेज 3: यह 'इंतज़ार का समय बदलने की सूचना' मैसेज दिखाता है.

इंतज़ार के समय का मेज़रमेंट

  • स्विच करने में लगने वाला समय दो तरह का होता है:
    1. ब्लूटूथ प्रोफ़ाइल को डिसकनेक्ट किए गए सीकर से कनेक्ट किया जा रहा है.
      • इसमें सभी SinglePoint केस और कुछ एमपी केस शामिल हैं, जिनका टारगेट सीकर (डिवाइस B) डिसकनेक्ट है.
    2. कनेक्ट किए गए ऐक्टिव सीकर को स्विच किया जा रहा है.
      • इसमें ऐसे कुछ MP केस शामिल हैं जिनसे टारगेट सीकर (डिवाइस B) पहले से कनेक्ट है.
  • इंतज़ार के समय की जानकारी वापस पाने के दो तरीके हैं:
    1. सभी इंतज़ार के समय को adb निर्देश की मदद से हटाया जा सकता है.
      • ज़्यादा जानकारी के लिए, डंप में लगने वाला समय सेक्शन देखें.
      • इस निर्देश से, कम से कम एक टेस्ट केस पूरा होने के बाद, इंतज़ार का समय मिल सकता है और उसे रिकॉर्ड किया जा सकता है.
    2. ऑडियो स्विच करने की सुविधा की जांच करने वाले ऐप्लिकेशन का इस्तेमाल करके.
      • टारगेट सर्चर पर चल रहे ऐप्लिकेशन में स्विच करने के बाद, इंतज़ार का समय दिखेगा.
      • अगर कोई स्विच नहीं है, तो ऐप्लिकेशन में 'स्विच नहीं है' की वजह दिखेगी.

ऑडियो स्विच करने की सुविधा देने वाला टेस्ट ऐप्लिकेशन:

  • खुद की जांच के दौरान VoIP/मीडिया/गेम के ऑडियो इवेंट ट्रिगर करने के लिए ऐप्लिकेशन का इस्तेमाल करने से, टेस्ट सेटअप करना आसान हो जाएगा और सीकर को इवेंट में लगने वाला समय कम हो जाएगा.
    • वर्शन का नया वर्शन यहां से डाउनलोड किया जा सकता है.
    • LE Audio VoIP टेस्ट के लिए, मैन्युअल तरीके से नीति को चालू करना ज़रूरी है: > adb रूट > adb Shell settings put दुनिया छिपे हुए [api_policy 1] > adb रिबूट
  • ऐप्लिकेशन इंस्टॉल करना:
    • APK को अपने टेस्ट फ़ोन पर कॉपी करें और उसे खोलें.
    • इसके अलावा, adb install audio_test_app.apk का इस्तेमाल करें.
  • अगर आपको सूचना का ऐक्सेस मांगने वाला डायलॉग दिखता है, तो:
    1. "ठीक है" पर क्लिक करें
    2. ऐप्लिकेशन सूची में "FP SASS परीक्षण" चुनें
    3. सूचना को ऐक्सेस करने की अनुमति दें.

ऐप्लिकेशन की खास जानकारी:

यह फ़ोटो, ऐप्लिकेशन के चालू होने का उदाहरण है

  • टारगेट की सुविधा देने वाली कंपनी

    • यह बटन क्लिक करने पर, जोड़े गए ब्लूटूथ डिवाइसों की सूची दिखाएगा. वह थंबनेल चुनें जिसकी आपको जांच करनी है.
    • 'कनेक्ट करें' और 'डिसकनेक्ट करें' बटन, डिवाइस की जानकारी वाली ब्लूटूथ सेटिंग की तरह ही काम करते हैं.
  • मौजूदा स्थिति

    • यह फ़ील्ड, BLE विज्ञापन या इवेंट स्ट्रीम का इस्तेमाल करके, सेवा देने वाले से सिकियर को मिली आखिरी कनेक्शन की स्थिति दिखाता है.
    • ऑडियो स्विच करने से जुड़ी डीबग की सूचनाएं भी यहां दिखती हैं.
  • नौकरी ढूंढने वाले व्यक्ति का टाइप

    • इस विकल्प का इस्तेमाल, डिवाइस को एक ऑडियो स्ट्रीम से दूसरे पर स्विच करने के लिए किया जाता है.

ऑडियो का टाइप

A2DP+HFP वाला क्लासिक

  • VoIP
    • इस मोड को चुनने पर, ऑडियो मोड AudioManager.MODE_IN_COMMUNICATION और कॉल AudioManager.startBluetoothSco पर सेट हो जाएगा. इसके बाद, USAGE_VOICE_COMMUNICATION का इस्तेमाल करके ऑडियो चलाया जा सकता है.
    • स्ट्रीम का टाइप STREAM_VOICE_CALL है.
    • कनेक्शन की स्थिति, पांच सेकंड में CONNECTED_HFP पर सेट हो जाएगी.
  • मीडिया
    • इस मोड को चुनने पर, AVRCP की सुविधा वाले डिवाइसों पर ऑडियो चलेगा. ऑडियो के इस्तेमाल का टाइप: USAGE_MEDIA.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति, पांच सेकंड में CONNECTED_A2DP_WITH_AVRCP पर स्विच हो जानी चाहिए.
    • कनेक्शन शुरू या बंद होने पर, कनेक्शन की स्थिति कुछ समय के लिए CONNECTED_A2DP_ONLY पर स्विच हो सकती है.
  • गेम
    • इस मोड को चुनने से ऐसा ऑडियो चलता है जो AVRCP पर काम नहीं करता. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_GAME.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति, पांच सेकंड में CONNECTED_A2DP_ONLY पर स्विच हो जाएगी.

LE Audio के साथ BLE

  • VoIP

    • इस मोड को चुनने पर, ऑडियो मोड AudioManager.MODE_IN_COMMUNICATION पर सेट हो जाएगा और ऑडियो USAGE_VOICE_COMMUNICATION पर चलेगा.
    • स्ट्रीम का टाइप STREAM_VOICE_CALL है.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति, पांच सेकंड में CONNECTED_LE_AUDIO_CALL पर स्विच हो जाएगी.
  • मीडिया

    • इस मोड को चुनने से, स्ट्रीम टाइप वाला ऑडियो STREAM_MUSIC के तौर पर चलेगा. ऑडियो के इस्तेमाल का टाइप: USAGE_MEDIA.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति, पांच सेकंड के अंदर CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL पर स्विच हो जाएगी.
    • कनेक्शन शुरू या बंद होने पर, कनेक्शन की स्थिति कुछ समय के लिए CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL पर स्विच हो सकती है.
  • गेम

    • इस मोड को चुनने पर, ऐसा ऑडियो चलता है जिस पर उपयोगकर्ता का सीधा कंट्रोल नहीं होता. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_GAME.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति, पांच सेकंड के अंदर CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL पर स्विच हो जाएगी.
  • 'चलाएं' और 'रोकें' बटन

    • 'चलाएं' और 'रोकें' बटन से ऑडियो चालू या बंद होता है.
  • नतीजे बदलें

    • इस फ़ील्ड में, कनेक्ट और स्विच करने में लगने वाला समय दिखता है. इससे, किसी ऑडियो इवेंट के ट्रिगर होने, लेकिन स्विच न होने की वजह से, स्विच को अस्वीकार करने की वजह भी दिखती है.
    • प्रतीक्षा समय मिलीसेकंड (ms) में मापा जाता है.
    • आम तौर पर, इंतज़ार का समय, ऑडियो स्विच ट्रिगर की शुरुआत से लेकर ब्लूटूथ प्रोफ़ाइल से कनेक्ट होने या मल्टीपॉइंट-स्विच इवेंट की सूचना मिलने तक को मापा जाता है.
    • सेवा देने वाली कंपनी के ट्रिगर किए गए स्विच, ऑडियो शुरू होने से लेकर देरी को मेज़र करते हैं.

इंतज़ार का समय डंप करें

  • इस निर्देश की मदद से, उपयोगकर्ता मैन्युअल तरीके से टेस्ट करते समय, इंतज़ार के समय के माप को कैप्चर कर सकता है: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • इंतज़ार का समय, NearbyDeviceManager के SwitchHistory सेक्शन में दिखता है:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • GmsCore जिस स्विच को मेज़र नहीं कर सकता (उदाहरण के लिए, एचएफ़पी के लिए चालू स्विच) उसे 0 मिलीसेकंड के इंतज़ार के तौर पर रिकॉर्ड किया जाएगा.

लॉग पैटर्न का रेफ़रंस:

इंतज़ार के समय की जांच से मिले लॉग के उदाहरण

ऐसी समस्याएं जिनके बारे में हमें पता है:

सीकर की वजह से जो गड़बड़ियां होती हैं, नीचे दी गई हैं:

  1. गेम का गलत ऑडियो स्विच किया गया है.
    • गेम खेलते समय, Samsung फ़ोन कनेक्शन की स्थिति CONNECTED_A2DP_ONLY के बजाय, CONNECTED_A2DP_WITH_AVRCP पर सेट करेंगे.
    • कुछ गेम (जैसे कि कैंडी क्रश) में बैकग्राउंड संगीत फिर से चल सकता है और उपयोगकर्ता के इनपुट के बिना नया ऑडियो इवेंट ट्रिगर हो सकता है. कनेक्ट किए गए फ़ोन, गेम खोलने वाले हर फ़ोन पर ऑडियो को लगातार स्विच कर सकते हैं.