অডিও সুইচ সার্টিফিকেশন সংক্রান্ত নির্দেশিকা

সার্টিফিকেশনের জন্য প্রস্তুতি

  • টেস্ট ডিভাইস প্রস্তুত করুন।
    • আপনার ৫টি Android ডিভাইস প্রয়োজন হবে।
      • এইসব ডিভাইসে এগুলি থাকতে হবে:
        • অন্তত একটি Android T (13) এবং একটি Android V (15)।
        • অন্তত একটি Samsung এবং একটি Pixel।
        • যেমন:
          • ১টি OnePlus (Android 10)।
          • ৩টি Samsung (Android 11, 12, 13)।
          • ১টি Pixel (Android 15)।
    • অডিও সুইচ ছাড়া একটি ডিভাইস:
      • যেকোনও iPhone, পিসি, ব্লুটুথ (BT)-চালু করা ল্যাপটপ বা Android ফোন যেখানে অডিও সুইচ বন্ধ করা আছে।
        • আপনি ব্লুটুথ ডিভাইসের বিস্তারিত সেটিংস থেকে অডিও সুইচ বন্ধ করতে পারবেন।
      • মাল্টিপয়েন্ট (MP) টেস্ট কেস ২.৮-এর জন্য ৫টি টেস্ট ফোনের পাশাপাশি অডিও সুইচ ছাড়া একটি ডিভাইস প্রয়োজন।
  • টেস্ট ফোনে ডিবাগ বিজ্ঞপ্তি দেখানোর জন্য আপনার টেস্ট অ্যাকাউন্ট দিয়ে অডিও সুইচ টেস্ট গ্রুপে যোগ দিন।

    • এছাড়াও, এটি Google-কে Google Analytics-এর মাধ্যমে টেস্ট ডেটা সংগ্রহ করার অনুমতি দেয়।

A2DP+HFP সহ ক্লাসিক

  • সব Android ডিভাইসে GmsCore ভার্সন 23.xx.xx বা তার পরবর্তী ভার্সন ইনস্টল করা আছে কিনা তা নিশ্চিত করুন।

LE অডিও সহ BLE

  • রেফারেন্স ফোনগুলির মধ্যে অন্তত দুটিতে LE অডিও কাজ করতে হবে।
    • যেমন, একটি Samsung ফোন এবং একটি Pixel ফোন যাতে LE অডিও কাজ করে।
  • সব Android ডিভাইসে GmsCore ভার্সন 24.33.xx বা তার পরবর্তী ভার্সন ইনস্টল করা আছে কিনা তা নিশ্চিত করুন।

সার্টিফিকেশন সংক্রান্ত মাপকাঠি

  • সব টেস্ট কেসে টার্গেট সুইচিংয়ের সাফল্যের হার ৯৫%-এর বেশি হতে হবে।
  • সুইচ করার প্রয়োজন হয় এমন টেস্টের ক্ষেত্রে, প্রোফাইল কানেকশন ও সুইচ অ্যাক্টিভ স্টেট অন্তত ৭৫% ক্ষেত্রে অডিও ইভেন্ট ট্রিগার করার পরে ৩ সেকেন্ডের মধ্যে সম্পূর্ণ হতে হবে।

A2DP+HFP সহ ক্লাসিক

নিম্নলিখিত কম্বিনেশনে সেল্ফ টেস্ট করতে হবে:

  • ফোন A=Android S (12) + ফোন B=Android T (13)
  • ফোন A=Android T (13) + ফোন B=Android S (12)

LE অডিও সহ BLE

নিম্নলিখিত কম্বিনেশনে সেল্ফ টেস্ট করতে হবে:

  • ফোন A: BT ক্লাসিক, ফোন B: BT ক্লাসিক
  • ফোন A: LE অডিও, ফোন B: BT ক্লাসিক
  • ফোন A: BT ক্লাসিক, ফোন B: LE অডিও

বিকল্প হিসেবে, ডুয়াল LE অডিও কানেকশন কাজ করে এমন প্রোভাইডারদের এগুলি পরীক্ষা করা উচিত:

  • ফোন A: LE অডিও, ফোন B: LE অডিও

টেস্টিং গাইড

ডিভাইস আন্ডার টেস্ট (DUT) প্রস্তুতি

  • যাচাই করুন যে BT ডিভাইসটি আগে কোনও ফোনের সাথে পেয়ার করা হয়নি টেস্টিং Google অ্যাকাউন্টে লগ-ইন করা হয়েছে।
    • ডিভাইসটি টেস্টিং Google অ্যাকাউন্টের সাথে পেয়ার করা থাকলে, পেয়ারিং মুছে ফেলতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
      • পেয়ার করা ডিভাইসে:
        • ব্লুটুথ সেটিংসে যান।
        • "ডিভাইস ভুলে যান" বিকল্প বেছে নিন।
        • বিমান মোড চালু ও বন্ধের মধ্যে টগল করুন।
    • "ডিভাইস অটোমেটিক সেভ করুন" বিকল্প চালু আছে কিনা তা নিশ্চিত করুন।
      • ডিফল্ট হিসেবে এই সুইচ বন্ধ করা থাকে।
      • আপনি এই বিকল্পটি সেটিংস > Google > ডিভাইস > সেভ করা ডিভাইস (DUT প্রতি একটি) থেকে খুঁজে পেতে পারেন।
    • ব্লুটুথ ডিভাইসটি পেয়ারিং মোডে রাখুন।
    • প্রাথমিক ব্লুটুথ ডিভাইস (A) পেয়ার করুন।
    • অন্যান্য ডিভাইসের (B, C, D, ইত্যাদি) সাথে পরবর্তী ব্লুটুথ ডিভাইস পেয়ার করুন।

সুযোগ

  • সব হেডসেট BT Classic বা BT LE Audio সেল্ফ-টেস্ট রিপোর্টের বিভিন্ন ট্যাব থেকে টেস্ট রান করে।
  • যেসব হেডসেট শুধুমাত্র সিঙ্গেলপয়েন্ট (SP) মোড সাপোর্ট করে, সেগুলি নিম্নলিখিতভাবে কাজ করে:
    • Generic_test ট্যাব।
  • MP মোড কাজ করে এমন হেডসেট নিম্নলিখিতগুলি রান করে:
    • Generic_test ট্যাব।
    • Multipoint_only ট্যাব।
  • MP হেডসেট যেগুলি SP মোডে টগল করা যেতে পারে সেগুলি নিম্নলিখিতগুলি রান করে:
    • MP বন্ধ সহ Generic_test ট্যাব।
    • MP চালু থাকা Generic_test ট্যাব।
    • MP চালু থাকা অবস্থায় Multipoint_only ট্যাব।

সেল্ফ-টেস্ট ও সেল্ফ-টেস্ট রিপোর্ট সম্পূর্ণ করা

  • BT Classic অথবা BT LE Audio সেল্ফ-টেস্ট রিপোর্টের একটি কপি তৈরি করুন।
  • সব টেস্ট কেস অন্তত দুবার রান করুন।
  • নিম্নলিখিত ফর্ম্যাটে টেস্ট চালাতে হবে:

A2DP+HFP সহ ক্লাসিক

  • ডিভাইস B প্রধান DUT হবে।
    • টেমপ্লেট-এর উপরে "ফোন" ও "OS" ফিল্ডে ডিভাইস B-এর বিবরণ লিখুন।

একটি টেস্ট কেসের উদাহরণ:

  • টেস্ট ফোন:

    • ডিভাইস ১: Samsung (Android 13)
    • ডিভাইস ২: Pixel (Android 12 বা 13) এবং অন্যান্য।
  • এক্সিকিউট করা টেস্ট:

    • রান ১. ডিভাইস ক=Samsung S10+ (12), ডিভাইস খ=Pixel 7 pro (13) কলাম ঘ: ফোন=Pixel 7 pro, OS=Android 13
    • রান ২. Device A=Pixel 7 pro (13), Device B=Pixel 6(12) column E: Phone=Pixel 6, OS=Android 12

সেল্ফ-টেস্ট টেমপ্লেটে সম্পূর্ণ করা পরীক্ষার একটি উদাহরণ:

এই ছবিতে একটি উদাহরণ পরীক্ষার ফলাফল দেখানো হয়েছে

LE অডিও সহ 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 প্রধান DUT হবে।
    • টেমপ্লেট-এর উপরে "ফোন" ও "OS" ফিল্ডে ডিভাইস B-এর বিবরণ লিখুন।

একটি টেস্ট কেসের উদাহরণ:

  • টেস্ট ফোন:

    • ডিভাইস ১: Samsung (Android 13)
    • ডিভাইস ২: Pixel (Android 15) এবং অন্যান্য।
  • এক্সিকিউট করা টেস্ট:

    • [LEA+BT]: Device A= Pixel 8 (15), Device B=Pixel 7 pro (13) column D: Phone=Pixel 7 pro, OS=Android 13
    • [BT+LEA]: Device A=Pixel 7 (13), Device B=Pixel 8 (Android 15) column E: Phone=Pixel 8, OS=Android 15
    • [BT+BT]: Device A=Pixel 7 pro (13), Device B=Samsung S10+ (12) column E: Phone=Samsung S10+, OS=Android 12
    • [LEA+LEA]: Device A=Pixel 8 (15), Device B=Pixel 8(15) column E: Phone=Pixel 8, OS=Android 15

সেল্ফ-টেস্ট টেমপ্লেটে সম্পূর্ণ করা পরীক্ষার একটি উদাহরণ:

এই ছবিতে একটি উদাহরণ পরীক্ষার ফলাফল দেখানো হয়েছে

অডিও ইভেন্ট:

  • ৪ ধরনের টেস্ট করা অডিও ইভেন্ট এবং সাজেস্ট করা টেস্টিং অ্যাপ হল:

    1. কল করুন:
      1. বিল্ট-ইন ফোন অ্যাপ।
    2. VoIP: যেকোনও VoIP অ্যাপ কাজ করবে, যেমন:
      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. ডিসকানেক্ট করা Seeker-এর সাথে ব্লুটুথ প্রোফাইল কানেক্ট করা।
      • এর মধ্যে সব SinglePoint কেস এবং কিছু MP কেস অন্তর্ভুক্ত যার টার্গেট Seeker (ডিভাইস B) ডিসকানেক্ট করা হয়েছে।
    2. অ্যাক্টিভ কানেক্ট করা Seeker পরিবর্তন করা হচ্ছে।
      • এর মধ্যে কিছু এমপি কেস অন্তর্ভুক্ত যেখানে টার্গেট সিকার (ডিভাইস B) আগে থেকেই কানেক্ট করা আছে।
  • লেটেন্সি সংক্রান্ত তথ্য পাওয়ার দুটি উপায় আছে:
    1. adb কমান্ডের মাধ্যমে সব লেটেন্সি ডাম্প করা যেতে পারে।
      • বিস্তারিত জানতে ডাম্প লেটেন্সি বিভাগ দেখুন।
      • এই কমান্ড অন্তত একটি টেস্ট কেস শেষ করার পরে লেটেন্সি প্রদান এবং রেকর্ড করতে পারে।
    2. অডিও সুইচ টেস্ট অ্যাপ ব্যবহার করে।
      • টার্গেট Seeker-এ চলা অ্যাপ, সুইচ করার পরে লেটেন্সি দেখাবে।
      • কোনও সুইচ না থাকলে, অ্যাপ 'কোনও সুইচ নেই' কারণটি দেখাবে।

অডিও সুইচ টেস্ট অ্যাপ:

  • সেল্ফ টেস্টের সময় VoIP/মিডিয়া/গেম অডিও ইভেন্ট ট্রিগার করার জন্য অ্যাপ ব্যবহার করলে টেস্ট সেট-আপ সহজ হবে এবং Seeker-এর ইভেন্ট লেটেন্সি কমবে।
    • লেটেস্ট ভার্সন এখান থেকে ডাউনলোড করা যাবে।
    • LE অডিও 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 test" বেছে নিন
    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 অডিও সহ 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) পরিমাপ করা হয়।
    • সাধারণত, অডিও সুইচ ট্রিগার শুরু হওয়া থেকে BT প্রোফাইল কানেক্ট হওয়া বা মাল্টিপয়েন্ট-সুইচ ইভেন্ট বিজ্ঞপ্তি পাওয়া পর্যন্ত লেটেন্সি পরিমাপ করা হয়।
    • প্রোভাইডার-ট্রিগার করা সুইচ অডিও শুরু থেকে লেটেন্সি পরিমাপ করে।

ডাম্প লেটেন্সি

  • নিম্নলিখিত কমান্ডের মাধ্যমে কোনও ব্যবহারকারী ম্যানুয়াল টেস্ট চালানোর সময় লেটেন্সি পরিমাপ ক্যাপচার করতে পারবেন: 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 পরিমাপ করতে পারে না এমন যেকোনও সুইচ (যেমন, HFP-এর জন্য অ্যাক্টিভ সুইচ) 0ms লেটেন্সি হিসেবে রেকর্ড করা হবে।

লগ প্যাটার্নের রেফারেন্স:

লেটেন্সি টেস্ট থেকে পাওয়া লগের উদাহরণ

পরিচিত সমস্যা:

Seeker-এর কারণে হওয়া পরিচিত সমস্যাগুলি নিচে উল্লেখ করা হল:

  1. গেমের অডিও ভুলভাবে পাল্টানো।
    • গেম খেলার সময় Samsung ফোন কানেকশন স্টেটকে CONNECTED_A2DP_ONLY-এর পরিবর্তে CONNECTED_A2DP_WITH_AVRCP-এ সেট করবে।
    • কিছু গেম (যেমন Candy crush) ব্যাকগ্রাউন্ড মিউজিক রিপ্লে করতে পারে এবং ব্যবহারকারীর ইনপুট ছাড়াই নতুন অডিও ইভেন্ট ট্রিগার করতে পারে। কানেক্ট করা ফোনগুলি ক্রমাগত গেমটি খোলা প্রতিটি ফোনে অডিও পরিবর্তন করতে পারে।