رهنمودهای گواهینامه «تعویض منبع صوتی»

آماده‌سازی برای گواهینامه

  • دستگاه‌های آزمایشی را آماده کنید.
    • به ۵ دستگاه Android نیاز خواهید داشت.
      • این دستگاه‌ها باید شامل موارد زیر باشند:
        • حداقل یک Android T (13)‎ و یک Android V (15)‎.
        • حداقل یک Samsung و یک Pixel.
        • برای مثال:
          • ‫۱ OnePlus (با Android 10).
          • ‫۳ Samsung (Android 11،‏ 12،‏ 13).
          • ‫۱ Pixel‏ (Android 15).
    • یک دستگاه بدون «تعویض منبع صدا»:
      • هر iPhone، رایانه، رایانه کیفی مجهز به بلوتوث، یا تلفن Android که «تعویض منبع صوتی» در آن غیرفعال باشد.
        • می‌توانید «تعویض منبع صدا» را از تنظیمات جزئیات دستگاه بلوتوث خاموش کنید.
      • مورد آزمایشی ۲.۸ «چندنقطه‌ای» (MP) علاوه‌بر ۵ تلفن آزمایشی، به دستگاهی بدون «تعویض منبع صوتی» نیاز دارد.
  • با حساب‌های آزمایشی‌تان به گروه آزمایشی «تعویض منبع صدا» بپیوندید تا اعلان‌های اشکال‌زدایی در تلفن‌های آزمایشی نشان داده شود.

    • این کار همچنین به Google امکان می‌دهد داده‌های آزمایشی را ازطریق Google Analytics جمع‌آوری کند.

کلاسیک با A2DP+HFP

  • مطمئن شوید همه دستگاه‌های Android نسخه 23.xx.xx یا بالاتر GmsCore را نصب کرده باشند.

بلوتوث کم‌مصرف با صدای کم‌مصرف

  • حداقل دو تلفن مرجع باید از «صدای کم‌مصرف» پشتیبانی کنند.
    • برای مثال، یک تلفن Samsung و یک تلفن Pixel که از «صدای کم‌مصرف» پشتیبانی می‌کنند.
  • مطمئن شوید همه دستگاه‌های Android نسخه 24.33.xx یا بالاتر GmsCore را نصب کرده باشند.

معیارهای گواهینامه

  • نرخ موفقیت «تعویض هدف» باید در همه چارچوب‌های تست از ۹۵٪ فراتر رود.
  • در آزمایش‌هایی که نیاز به جابه‌جایی دارند، اتصال نمایه و حالت فعال جابه‌جایی باید در حداقل ۷۵٪ موارد ظرف ۳ ثانیه پس‌از راه‌اندازی رویدادهای صوتی تکمیل شود.

کلاسیک با A2DP+HFP

«خودآزمایی‌ها» باید در ترکیب‌های زیر انجام شوند:

  • تلفن الف=Android S‏ (۱۲) + تلفن ب=Android T‏ (۱۳)
  • تلفن الف=Android T (13) + تلفن ب=Android S (12)

بلوتوث کم‌مصرف با صدای کم‌مصرف

«خودآزمایی‌ها» باید در ترکیب‌های زیر انجام شوند:

  • تلفن الف: BT Classic، تلفن ب: BT Classic
  • تلفن الف: LE Audio، تلفن ب: BT Classic
  • تلفن الف: BT Classic، تلفن ب: LE Audio

درصورت تمایل، ارائه‌دهندگانی که از اتصال «صدای کم‌مصرف» دوگانه پشتیبانی می‌کنند باید موارد زیر را آزمایش کنند:

  • تلفن الف: صدای کم‌مصرف، تلفن ب: صدای کم‌مصرف

راهنمای آزمایش

آماده‌سازی دستگاه تحت آزمایش (DUT)

  • تأیید کنید که دستگاه بلوتوث قبلاً با هیچ تلفنی که به سیستم «حساب Google» آزمایشی وارد شده است جفت نشده باشد.
    • اگر دستگاه با «حساب Google» آزمایشی جفت شده است، برای پاک کردن جفت‌سازی، کارهای زیر را انجام دهید:
      • در دستگاه‌های جفت‌شده:
        • به تنظیمات بلوتوث بروید.
        • «فراموش کردن دستگاه» را انتخاب کنید.
        • «حالت هواپیما» را روشن و خاموش کنید.
    • مطمئن شوید «ذخیره خودکار دستگاه‌ها» روشن باشد.
      • این کلید به‌طور پیش‌فرض «خاموش» است.
      • می‌توانید این گزینه را در «تنظیمات > Google > دستگاه‌ها > دستگاه‌های ذخیره‌شده» (یک مورد برای هر دستگاه تحت آزمایش) پیدا کنید.
    • دستگاه بلوتوث را در «حالت جفت‌سازی» قرار دهید.
    • دستگاه بلوتوث اولیه (A) را جفت کنید.
    • دستگاه‌های بلوتوث بعدی را با دستگاه‌های دیگر (B،‏ C،‏ D، و غیره) جفت کنید.

حوزه

  • همه هدست‌ها آزمایش‌ها را از برگه‌های مختلف در گزارش «خودآزمایی» BT Classic یا BT LE Audio اجرا می‌کنند.
  • هدست‌هایی که فقط از حالت SinglePoint (SP) پشتیبانی می‌کنند، موارد زیر را اجرا می‌کنند:
    • برگه Generic_test.
  • هدست‌هایی که از حالت MP پشتیبانی می‌کنند موارد زیر را اجرا می‌کنند:
    • برگه Generic_test.
    • برگه Multipoint_only.
  • هدست‌های چندپلتفرمی که می‌توانند به حالت تک‌پلتفرمی تغییر کنند، موارد زیر را اجرا می‌کنند:
    • برگه Generic_test با MP خاموش.
    • برگه Generic_test با MP روشن.
    • برگه Multipoint_only با MP روشن.

تکمیل «خودآزمایی» و «گزارش خودآزمایی»

  • از «گزارش‌های خودآزمایی» BT Classic یا BT LE Audio کپی بگیرید.
  • همه چارچوب‌های تست را حداقل دو بار اجرا کنید.
  • آزمایش‌ها باید به شکل زیر اجرا شوند:

کلاسیک با A2DP+HFP

  • دستگاه «ب» دستگاه اصلی تحت آزمایش خواهد بود.
    • جزئیات «دستگاه ب» را در فیلدهای «تلفن» و «سیستم‌عامل» در بالای الگو وارد کنید.

یک چارچوب تست نمونه:

  • تلفن‌های آزمایشی:

    • دستگاه ۱: Samsung ‏(Android 13)
    • دستگاه ۲: Pixel (با Android 12 یا 13) و دستگاه‌های دیگر.
  • آزمایش‌های اجراشده:

    • مسیر ۱. Device A=Samsung S10+ (12), Device B=Pixel 7 pro (13) column D: Phone=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

نمونه‌ای از آزمایش تکمیل‌شده در الگوی خودآزمایی:

این تصویر نتایج یک آزمایش نمونه را نشان می‌دهد

بلوتوث کم‌مصرف با صدای کم‌مصرف

  1. دستگاه الف=Android V (نسخه ۱۵) + دستگاه ب=Android T (نسخه ۱۳)
  2. دستگاه الف=Android T (نسخه ۱۳) + دستگاه ب=Android V (نسخه ۱۵)
  3. دستگاه الف=Android T (13) + دستگاه ب=Android S (12)
  4. دستگاه الف=Android T‏ (۱۵) + دستگاه ب=Android V‏ (۱۵)
  5. دستگاه «ب» دستگاه اصلی تحت آزمایش خواهد بود.
    • جزئیات «دستگاه ب» را در فیلدهای «تلفن» و «سیستم‌عامل» در بالای الگو وارد کنید.

یک چارچوب تست نمونه:

  • تلفن‌های آزمایشی:

    • دستگاه ۱: 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. پیام‌رسان فیس‌بوک.
      3. خط.
      4. واتساپ.
      5. Google Meet.
      6. Google Meet.
    3. رسانه: هر پخش‌کننده صوتی کار خواهد کرد، مثل:
      1. برنامه آزمایشی «تعویض منبع صوتی».
      2. Youtube Music.
      3. Apple Music.
      4. اسپاتیفای.
      5. پادکست Google.
    4. بازی:
      1. برنامه آزمایشی «تعویض منبع صوتی».

اطلاعات اشکال‌زدایی:

  • اعلان‌ها پس‌از پیوستن به گروه fp-sass-partner-test فعال می‌شوند. چند نمونه در زیر آمده است:

    • اعلان آخرین وضعیت:

    شکل ۱: این پیام «اعلان آخرین وضعیت» را نشان می‌دهد.

    • اعلان عدم تعویض:

    شکل ۲: این تصویر پیام «بدون اعلان تعویض» را نشان می‌دهد.

    • اعلان تأخیر سوئیچ:

    شکل ۳: این تصویر پیام «اعلان تأخیر سوئیچ» را نشان می‌دهد.

اندازه‌گیری تأخیر

  • دو نوع تأخیر کلید وجود دارد:
    1. درحال اتصال نمایه بلوتوث به «جستجوگر» قطع‌شده.
      • این شامل همه موارد SinglePoint و برخی‌از موارد MP می‌شود که «جستجوگر» هدف (دستگاه B) آن‌ها قطع شده است.
    2. درحال جابه‌جایی «جستجوگر» متصل فعال.
      • این شامل برخی‌از موارد MP می‌شود که «جستجوگر» هدف (دستگاه ب) ازقبل متصل شده است.
  • دو روش برای بازیابی اطلاعات تأخیر وجود دارد:
    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 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 تغییر کند.

بلوتوث کم‌مصرف با صدای کم‌مصرف

  • 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
    • اندازه‌گیری‌های تأخیر در بخش SwitchHistory NearbyDeviceManager نشان داده می‌شود:
            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) به‌عنوان تأخیر ۰ میلی‌ثانیه‌ای ثبت خواهد شد.

مرجع الگوهای گزارش:

نمونه‌هایی از گزارش‌های آزمایش تأخیر

مشکلات شناخته‌شده:

موارد زیر اشکال‌های شناخته‌شده‌ای هستند که «جستجوگر» ایجاد کرده است:

  1. تعویض نادرست صدای بازی.
    • تلفن‌های Samsung هنگام اجرای بازی، وضعیت اتصال را به‌جای CONNECTED_A2DP_ONLY روی CONNECTED_A2DP_WITH_AVRCP تنظیم می‌کنند.
    • برخی‌از بازی‌ها (مثل Candy crush) ممکن است موسیقی پس‌زمینه را بازپخش کنند و بدون ورودی کاربر، رویداد صوتی جدیدی را راه‌اندازی کنند. تلفن‌های متصل ممکن است به‌طور مداوم صدا را در هر تلفنی که بازی را باز می‌کند عوض کنند.