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

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

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

इसके अलावा, जिन सेवा देने वाली कंपनियों के डिवाइसों पर दो LE Audio कनेक्शन काम करते हैं उन्हें इनकी जांच करनी चाहिए:

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

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

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

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

दायरा

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

डिवाइस को अपने-आप रीस्टार्ट होने और अपने-आप जांच करने की सुविधा को पूरा करना

  • BT Classic या BT LE Audio की सेल्फ़-टेस्ट रिपोर्ट की कॉपी बनाएं.
  • सभी टेस्ट केस को कम से कम दो बार चलाएं.
  • जांच इस फ़ॉर्मैट में की जानी चाहिए:

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

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

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

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

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

    • पहला चरण. डिवाइस 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 की जानकारी डालें.

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

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

    • पहला डिवाइस: 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 ग्रुप में शामिल होने के बाद, सूचनाएं चालू हो जाती हैं. यहां कुछ उदाहरण दिए गए हैं:

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

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

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

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

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

    इमेज 3: इसमें 'स्विच करने में लगने वाला समय' मैसेज दिखाया गया है.

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

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

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

  • अपने-आप होने वाले टेस्ट के दौरान, VoIP/मीडिया/गेम के ऑडियो इवेंट को ट्रिगर करने के लिए ऐप्लिकेशन का इस्तेमाल करने से, टेस्ट सेटअप करना आसान हो जाएगा. साथ ही, खोज करने वाले व्यक्ति के इवेंट के इंतज़ार का समय कम हो जाएगा.
    • नया वर्शन यहां से डाउनलोड किया जा सकता है.
    • LE Audio VoIP टेस्ट के लिए, मैन्युअल रूप से नीति चालू करनी होगी: > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • ऐप्लिकेशन इंस्टॉल करना:
    • 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 मिलीसेकंड के इंतज़ार के तौर पर रिकॉर्ड किया जाएगा.

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

इंतज़ार का समय जांचने वाले टेस्ट के लॉग के उदाहरण

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

Seeker की वजह से होने वाली गड़बड़ियां:

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