دستورالعمل های صدور گواهینامه سوئیچ صوتی

آمادگی برای صدور گواهینامه

  • دستگاه های تست را آماده کنید.
    • شما به 5 دستگاه اندرویدی نیاز دارید.
      • این دستگاه ها باید شامل موارد زیر باشند:
        • حداقل یک Android T (13) و یک Android V (15).
        • حداقل یک سامسونگ و یک پیکسل.
        • به عنوان مثال:
          • 1 OnePlus (اندروید 10).
          • 3 سامسونگ (اندروید 11، 12، 13).
          • 1 پیکسل (اندروید 15).
    • یک دستگاه بدون سوئیچ صوتی:
      • هر لپ‌تاپ آیفون، رایانه شخصی، بلوتوث (BT) یا تلفن Android که سوئیچ صوتی آن غیرفعال است.
        • می‌توانید سوئیچ صوتی را از تنظیم جزئیات دستگاه بلوتوث خاموش کنید.
      • جعبه تست چند نقطه ای (MP) 2.8 علاوه بر 5 تلفن آزمایشی به دستگاهی بدون سوئیچ صوتی نیاز دارد.
  • به گروه تست سوئیچ صوتی با حساب های آزمایشی خود بپیوندید تا اعلان های اشکال زدایی را در تلفن های آزمایشی نشان دهید.

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

کلاسیک با A2DP+HFP

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

BLE با LE Audio

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

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

  • نرخ موفقیت سوئیچینگ هدف باید در همه موارد آزمایشی از 95٪ تجاوز کند.
  • در آزمایش‌هایی که نیاز به سوئیچ دارند، اتصال نمایه و حالت فعال سوئیچ باید در حداقل 75 درصد موارد در عرض 3 ثانیه پس از راه‌اندازی رویدادهای صوتی تکمیل شود.

کلاسیک با A2DP+HFP

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

  • تلفن A=Android S (12) + تلفن B=Android T (13)
  • تلفن A=Android T (13) + تلفن B=Android S (12)

BLE با LE Audio

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

  • تلفن A: BT Classic، تلفن B: BT Classic
  • تلفن A: LE Audio، تلفن B: BT Classic
  • تلفن A: BT Classic، تلفن B: LE Audio

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

  • تلفن A: LE Audio، تلفن B: LE Audio

راهنمای تست

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

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

دامنه

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

تکمیل خود استراحت و گزارش خودآزمایی

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

کلاسیک با A2DP+HFP

  • دستگاه B DUT اصلی خواهد بود.
    • جزئیات دستگاه B را در قسمت‌های «تلفن» و «OS» در بالای الگو وارد کنید.

نمونه آزمایشی:

  • تلفن های تست:

    • دستگاه 1: سامسونگ (اندروید 13)
    • دستگاه 2: پیکسل (اندروید 12 یا 13) و موارد دیگر.
  • تست های اجرا شده:

    • اجرا 1. دستگاه A=Samsung S10+ (12)، دستگاه B=Pixel 7 pro (13) ستون D: Phone=Pixel 7 pro، OS=Android 13
    • اجرا 2. دستگاه A=Pixel 7 pro (13)، دستگاه B=Pixel 6(12) ستون E: Phone=Pixel 6، OS=Android 12

نمونه ای از تست تکمیل شده در قالب خودآزمایی:

This picture shows the results of an example test

BLE با LE Audio

  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 اصلی خواهد بود.
    • جزئیات دستگاه B را در قسمت‌های «تلفن» و «OS» در بالای الگو وارد کنید.

نمونه آزمایشی:

  • تلفن های تست:

    • دستگاه 1: سامسونگ (اندروید 13)
    • دستگاه 2: پیکسل (اندروید 15) و دیگران.
  • تست های اجرا شده:

    • [LEA+BT]: دستگاه A= Pixel 8 (15)، دستگاه B=Pixel 7 pro (13) ستون D: Phone=Pixel 7 pro، OS=Android 13
    • [BT+LEA]: دستگاه A=Pixel 7 (13)، دستگاه B=Pixel 8 (Android 15) ستون E: Phone=Pixel 8، OS=Android 15
    • [BT+BT]: دستگاه A=Pixel 7 pro (13)، دستگاه B=Samsung S10+ (12) ستون E: Phone=Samsung S10+، OS=Android 12
    • [LEA+LEA]: دستگاه A=Pixel 8 (15)، دستگاه B=Pixel 8 (15) ستون E: Phone=Pixel 8، OS=Android 15

نمونه ای از تست تکمیل شده در قالب خودآزمایی:

This picture shows the results of an example test

رویدادهای صوتی:

  • 4 نوع رویداد صوتی آزمایش شده و برنامه های آزمایشی توصیه شده عبارتند از:

    1. تماس بگیرید:
      1. اپلیکیشن داخلی گوشی
    2. VoIP: هر برنامه VoIP کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. پیام رسان FB.
      3. خط.
      4. واتس اپ.
      5. Google Meet
      6. Google Meet
    3. رسانه: هر پخش کننده صوتی کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. موسیقی یوتیوب.
      3. اپل موزیک.
      4. Spotify.
      5. پادکست گوگل
    4. بازی:
      1. برنامه تست سوئیچ صوتی.

اطلاعات رفع اشکال:

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

    • آخرین اطلاعیه دولت:

    Figure 1: This shows the 'latest state notification' message.

    • بدون اعلان سوئیچ:

    Figure 2: This shows the 'no switch notification' message.

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

    Figure 3: This shows the 'switch latency notification' message.

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

  • دو نوع تأخیر سوئیچ وجود دارد:
    1. اتصال نمایه بلوتوث به جستجوگر قطع شده.
      • این شامل تمام موارد SinglePoint و برخی از موارد MP است که جستجوگر هدف (دستگاه B) قطع شده است.
    2. جابجایی جستجوگر متصل فعال.
      • این شامل برخی از موارد MP است که جستجوگر هدف (دستگاه B) قبلاً متصل است.
  • دو راه برای بازیابی اطلاعات تاخیر وجود دارد:
    1. تمام تاخیرها را می توان با دستور adb حذف کرد.
      • برای جزئیات بیشتر به بخش تأخیر تخلیه مراجعه کنید.
      • این دستور می تواند پس از اتمام حداقل یک مورد آزمایشی تأخیر را ارائه و ثبت کند.
    2. با استفاده از برنامه تست سوئیچ صوتی
      • برنامه ای که روی جستجوگر هدف اجرا می شود، پس از تعویض، تأخیر را نشان می دهد.
      • اگر سوئیچ وجود نداشت، برنامه دلیل "بدون سوئیچ" را نمایش می دهد.

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

  • استفاده از برنامه برای راه‌اندازی رویدادهای صوتی VoIP/Media/Game در طول خودآزمایی، راه‌اندازی آزمایش را ساده‌تر کرده و تأخیر رویداد Seeker را کاهش می‌دهد.
    • آخرین نسخه را می توانید از اینجا دانلود کنید .
    • تست LE Audio VoIP به یک خط مشی نیاز دارد که به صورت دستی فعال شود: > ریشه adb > تنظیمات پوسته adb قرار دادن hidden_api_policy 1 جهانی > راه اندازی مجدد adb
  • نصب اپلیکیشن:
    • apk را در تلفن آزمایشی خود کپی کنید و آن را باز کنید.
    • از طرف دیگر، از adb install audio_test_app.apk استفاده کنید.
  • اگر گفتگویی می بینید که درخواست دسترسی به اعلان می کند:
    1. روی "OK" کلیک کنید
    2. "تست FP SASS" را در لیست برنامه انتخاب کنید
    3. اجازه دسترسی به اطلاعیه

نمای کلی برنامه:

This picture is an example of the app running

  • ارائه دهنده هدف

    • این دکمه پس از کلیک کردن، لیستی از دستگاه های بلوتوث جفت شده را نشان می دهد. موردی را که می خواهید تست کنید انتخاب کنید.
    • دکمه های Connect and Disconnect مانند آنچه در جزئیات دستگاه تنظیمات بلوتوث وجود دارد کار می کند.
  • وضعیت فعلی

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

    • این گزینه برای جابجایی دستگاه بین جریان های صوتی استفاده می شود.

نوع صدا

کلاسیک با A2DP+HFP

  • VoIP
    • با انتخاب این حالت حالت صدا به AudioManager.MODE_IN_COMMUNICATION تغییر می کند و AudioManager.startBluetoothSco را فراخوانی می کند، سپس صدا را با USAGE_VOICE_COMMUNICATION پخش می کند.
    • نوع جریان STREAM_VOICE_CALL است.
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_HFP تغییر کند.
  • رسانه ها
    • با انتخاب این حالت، صدایی با پشتیبانی از AVRCP پخش می شود. نوع استفاده از صدا این است: USAGE_MEDIA .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_WITH_AVRCP تغییر کند.
    • وضعیت اتصال ممکن است برای مدت کوتاهی به CONNECTED_A2DP_ONLY تغییر کند هنگام شروع یا توقف.
  • بازی
    • با انتخاب این حالت صدایی پخش می شود که از AVRCP پشتیبانی نمی کند. نوع استفاده از صدا این است: USAGE_GAME .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_ONLY تغییر کند.

BLE با LE Audio

  • VoIP

    • انتخاب این حالت حالت صدا را به AudioManager.MODE_IN_COMMUNICATION تغییر می‌دهد و صدا را با USAGE_VOICE_COMMUNICATION پخش می‌کند.
    • نوع جریان STREAM_VOICE_CALL است.
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_CALL تغییر کند.
  • رسانه ها

    • با انتخاب این حالت، صدا با نوع جریان به عنوان STREAM_MUSIC پخش می شود. نوع استفاده از صدا این است: USAGE_MEDIA .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL تغییر کند.
    • ممکن است هنگام شروع یا توقف، وضعیت اتصال برای مدت کوتاهی به CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL تغییر کند.
  • بازی

    • با انتخاب این حالت صدایی پخش می شود که کاربر کنترل مستقیمی روی آن ندارد. نوع استفاده از صدا این است: USAGE_GAME .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL تغییر کند.
  • دکمه های پخش و توقف

    • دکمه های PLAY و STOP صدا را شروع یا متوقف می کنند.
  • نتیجه را تغییر دهید

    • این فیلد تاخیر فعال Connect and Switch را نمایش می دهد. همچنین دلیل رد کردن سوئیچ را در صورتی که یک رویداد صوتی راه اندازی شده باشد اما سوئیچ اتفاق نیفتاده است را نشان می دهد.
    • تأخیر در میلی ثانیه (ms) اندازه گیری می شود.
    • به طور کلی، تأخیر از شروع ماشه سوئیچ صوتی تا دریافت پروفایل BT متصل یا رویداد سوئیچ چند نقطه‌ای Notify اندازه‌گیری می‌شود.
    • سوئیچ های راه اندازی شده توسط ارائه دهنده، تأخیر را از شروع صدا اندازه گیری می کنند.

Dump Latency

  • دستور زیر به کاربر امکان می‌دهد هنگام اجرای آزمایش‌های دستی، اندازه‌گیری‌های تأخیر را بگیرد: 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) به عنوان تأخیر 0 میلی ثانیه ثبت می شود.

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

Examples of logs from the latency test

مسائل شناخته شده:

موارد زیر باگ های شناخته شده ای هستند که توسط جستجوگر ایجاد می شوند:

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

آمادگی برای صدور گواهینامه

  • دستگاه های تست را آماده کنید.
    • شما به 5 دستگاه اندرویدی نیاز دارید.
      • این دستگاه ها باید شامل موارد زیر باشند:
        • حداقل یک Android T (13) و یک Android V (15).
        • حداقل یک سامسونگ و یک پیکسل.
        • به عنوان مثال:
          • 1 OnePlus (اندروید 10).
          • 3 سامسونگ (اندروید 11، 12، 13).
          • 1 پیکسل (اندروید 15).
    • یک دستگاه بدون سوئیچ صوتی:
      • هر لپ‌تاپ آیفون، رایانه شخصی، بلوتوث (BT) یا تلفن Android که سوئیچ صوتی آن غیرفعال است.
        • می‌توانید سوئیچ صوتی را از تنظیم جزئیات دستگاه بلوتوث خاموش کنید.
      • جعبه تست چند نقطه ای (MP) 2.8 علاوه بر 5 تلفن آزمایشی به دستگاهی بدون سوئیچ صوتی نیاز دارد.
  • به گروه تست سوئیچ صوتی با حساب های آزمایشی خود بپیوندید تا اعلان های اشکال زدایی را در تلفن های آزمایشی نشان دهید.

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

کلاسیک با A2DP+HFP

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

BLE با LE Audio

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

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

  • نرخ موفقیت سوئیچینگ هدف باید در همه موارد آزمایشی از 95٪ تجاوز کند.
  • در آزمایش‌هایی که نیاز به سوئیچ دارند، اتصال نمایه و حالت فعال سوئیچ باید در حداقل 75 درصد موارد در عرض 3 ثانیه پس از راه‌اندازی رویدادهای صوتی تکمیل شود.

کلاسیک با A2DP+HFP

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

  • تلفن A=Android S (12) + تلفن B=Android T (13)
  • تلفن A=Android T (13) + تلفن B=Android S (12)

BLE با LE Audio

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

  • تلفن A: BT Classic، تلفن B: BT Classic
  • تلفن A: LE Audio، تلفن B: BT Classic
  • تلفن A: BT Classic، تلفن B: LE Audio

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

  • تلفن A: LE Audio، تلفن B: LE Audio

راهنمای تست

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

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

دامنه

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

تکمیل خود استراحت و گزارش خودآزمایی

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

کلاسیک با A2DP+HFP

  • دستگاه B DUT اصلی خواهد بود.
    • جزئیات دستگاه B را در قسمت‌های «تلفن» و «OS» در بالای الگو وارد کنید.

نمونه آزمایشی:

  • تلفن های تست:

    • دستگاه 1: سامسونگ (اندروید 13)
    • دستگاه 2: پیکسل (اندروید 12 یا 13) و موارد دیگر.
  • تست های اجرا شده:

    • اجرا 1. دستگاه A=Samsung S10+ (12)، دستگاه B=Pixel 7 pro (13) ستون D: Phone=Pixel 7 pro، OS=Android 13
    • اجرا 2. دستگاه A=Pixel 7 pro (13)، دستگاه B=Pixel 6(12) ستون E: Phone=Pixel 6، OS=Android 12

نمونه ای از تست تکمیل شده در قالب خودآزمایی:

This picture shows the results of an example test

BLE با LE Audio

  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 اصلی خواهد بود.
    • جزئیات دستگاه B را در قسمت‌های «تلفن» و «OS» در بالای الگو وارد کنید.

نمونه آزمایشی:

  • تلفن های تست:

    • دستگاه 1: سامسونگ (اندروید 13)
    • دستگاه 2: پیکسل (اندروید 15) و دیگران.
  • تست های اجرا شده:

    • [LEA+BT]: دستگاه A= Pixel 8 (15)، دستگاه B=Pixel 7 pro (13) ستون D: Phone=Pixel 7 pro، OS=Android 13
    • [BT+LEA]: دستگاه A=Pixel 7 (13)، دستگاه B=Pixel 8 (Android 15) ستون E: Phone=Pixel 8، OS=Android 15
    • [BT+BT]: دستگاه A=Pixel 7 pro (13)، دستگاه B=Samsung S10+ (12) ستون E: Phone=Samsung S10+، OS=Android 12
    • [LEA+LEA]: دستگاه A=Pixel 8 (15)، دستگاه B=Pixel 8 (15) ستون E: Phone=Pixel 8، OS=Android 15

نمونه ای از تست تکمیل شده در قالب خودآزمایی:

This picture shows the results of an example test

رویدادهای صوتی:

  • 4 نوع رویداد صوتی آزمایش شده و برنامه های آزمایشی توصیه شده عبارتند از:

    1. تماس بگیرید:
      1. اپلیکیشن داخلی گوشی
    2. VoIP: هر برنامه VoIP کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. پیام رسان FB.
      3. خط.
      4. واتس اپ.
      5. Google Meet
      6. Google Meet
    3. رسانه: هر پخش کننده صوتی کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. موسیقی یوتیوب.
      3. اپل موزیک.
      4. Spotify.
      5. پادکست گوگل
    4. بازی:
      1. برنامه تست سوئیچ صوتی.

اطلاعات رفع اشکال:

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

    • آخرین اطلاعیه دولت:

    Figure 1: This shows the 'latest state notification' message.

    • بدون اعلان سوئیچ:

    Figure 2: This shows the 'no switch notification' message.

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

    Figure 3: This shows the 'switch latency notification' message.

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

  • دو نوع تأخیر سوئیچ وجود دارد:
    1. اتصال نمایه بلوتوث به جستجوگر قطع شده.
      • این شامل تمام موارد SinglePoint و برخی از موارد MP است که جستجوگر هدف (دستگاه B) قطع شده است.
    2. جابجایی جستجوگر متصل فعال.
      • این شامل برخی از موارد MP است که جستجوگر هدف (دستگاه B) قبلاً متصل است.
  • دو راه برای بازیابی اطلاعات تاخیر وجود دارد:
    1. تمام تاخیرها را می توان با دستور adb حذف کرد.
      • برای جزئیات بیشتر به بخش تأخیر تخلیه مراجعه کنید.
      • این دستور می تواند پس از اتمام حداقل یک مورد آزمایشی تأخیر را ارائه و ثبت کند.
    2. با استفاده از برنامه تست سوئیچ صوتی
      • برنامه ای که روی جستجوگر هدف اجرا می شود، پس از تعویض، تأخیر را نشان می دهد.
      • اگر سوئیچ وجود نداشت، برنامه دلیل "بدون سوئیچ" را نمایش می دهد.

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

  • استفاده از برنامه برای راه‌اندازی رویدادهای صوتی VoIP/Media/Game در طول خودآزمایی، راه‌اندازی آزمایش را ساده‌تر کرده و تأخیر رویداد Seeker را کاهش می‌دهد.
    • آخرین نسخه را می توانید از اینجا دانلود کنید .
    • تست LE Audio VoIP به یک خط مشی نیاز دارد که به صورت دستی فعال شود: > ریشه adb > تنظیمات پوسته adb قرار دادن hidden_api_policy 1 جهانی > راه اندازی مجدد adb
  • نصب اپلیکیشن:
    • apk را در تلفن آزمایشی خود کپی کنید و آن را باز کنید.
    • از طرف دیگر، از adb install audio_test_app.apk استفاده کنید.
  • اگر گفتگویی می بینید که درخواست دسترسی به اعلان می کند:
    1. روی "OK" کلیک کنید
    2. "تست FP SASS" را در لیست برنامه انتخاب کنید
    3. اجازه دسترسی به اطلاعیه

نمای کلی برنامه:

This picture is an example of the app running

  • ارائه دهنده هدف

    • این دکمه پس از کلیک کردن، لیستی از دستگاه های بلوتوث جفت شده را نشان می دهد. موردی را که می خواهید تست کنید انتخاب کنید.
    • دکمه های Connect and Disconnect مانند آنچه در جزئیات دستگاه تنظیمات بلوتوث وجود دارد کار می کند.
  • وضعیت فعلی

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

    • این گزینه برای جابجایی دستگاه بین جریان های صوتی استفاده می شود.

نوع صدا

کلاسیک با A2DP+HFP

  • VoIP
    • با انتخاب این حالت حالت صدا به AudioManager.MODE_IN_COMMUNICATION تغییر می کند و AudioManager.startBluetoothSco را فراخوانی می کند، سپس صدا را با USAGE_VOICE_COMMUNICATION پخش می کند.
    • نوع جریان STREAM_VOICE_CALL است.
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_HFP تغییر کند.
  • رسانه ها
    • با انتخاب این حالت، صدایی با پشتیبانی از AVRCP پخش می شود. نوع استفاده از صدا این است: USAGE_MEDIA .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_WITH_AVRCP تغییر کند.
    • وضعیت اتصال ممکن است برای مدت کوتاهی به CONNECTED_A2DP_ONLY تغییر کند هنگام شروع یا توقف.
  • بازی
    • با انتخاب این حالت صدایی پخش می شود که از AVRCP پشتیبانی نمی کند. نوع استفاده از صدا این است: USAGE_GAME .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_ONLY تغییر کند.

BLE با LE Audio

  • VoIP

    • انتخاب این حالت حالت صدا را به AudioManager.MODE_IN_COMMUNICATION تغییر می‌دهد و صدا را با USAGE_VOICE_COMMUNICATION پخش می‌کند.
    • نوع جریان STREAM_VOICE_CALL است.
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_CALL تغییر کند.
  • رسانه ها

    • با انتخاب این حالت، صدا با نوع جریان به عنوان STREAM_MUSIC پخش می شود. نوع استفاده از صدا این است: USAGE_MEDIA .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL تغییر کند.
    • ممکن است هنگام شروع یا توقف، وضعیت اتصال برای مدت کوتاهی به CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL تغییر کند.
  • بازی

    • با انتخاب این حالت صدایی پخش می شود که کاربر کنترل مستقیمی روی آن ندارد. نوع استفاده از صدا این است: USAGE_GAME .
    • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL تغییر کند.
  • دکمه های پخش و توقف

    • دکمه های PLAY و STOP صدا را شروع یا متوقف می کنند.
  • نتیجه را تغییر دهید

    • این فیلد تاخیر فعال Connect and Switch را نمایش می دهد. همچنین دلیل رد کردن سوئیچ را در صورتی که یک رویداد صوتی راه اندازی شده باشد اما سوئیچ اتفاق نیفتاده است را نشان می دهد.
    • تأخیر در میلی ثانیه (ms) اندازه گیری می شود.
    • به طور کلی، تأخیر از شروع ماشه سوئیچ صوتی تا دریافت پروفایل BT متصل یا رویداد سوئیچ چند نقطه‌ای Notify اندازه‌گیری می‌شود.
    • سوئیچ های راه اندازی شده توسط ارائه دهنده، تأخیر را از شروع صدا اندازه گیری می کنند.

Dump Latency

  • دستور زیر به کاربر امکان می‌دهد هنگام اجرای آزمایش‌های دستی، اندازه‌گیری‌های تأخیر را بگیرد: 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) به عنوان تأخیر 0 میلی ثانیه ثبت می شود.

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

Examples of logs from the latency test

مسائل شناخته شده:

موارد زیر باگ های شناخته شده ای هستند که توسط جستجوگر ایجاد می شوند:

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