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

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

  • دستگاه‌های آزمایش را آماده کنید.
    • شما به 5 دستگاه اندرویدی نیاز خواهید داشت.
      • این دستگاه‌ها باید شامل موارد زیر باشند:
        • حداقل یک اندروید T (13) و یک اندروید V (15).
        • حداقل یک سامسونگ و یک پیکسل.
        • برای مثال:
          • ۱ وان‌پلاس (اندروید ۱۰).
          • ۳ سامسونگ (اندروید ۱۱، ۱۲، ۱۳).
          • ۱ پیکسل (اندروید ۱۵).
    • یک دستگاه بدون سوئیچ صدا:
      • هر آیفون، کامپیوتر، لپ‌تاپ دارای بلوتوث (BT) یا تلفن اندرویدی که سوئیچ صدا در آن غیرفعال باشد.
        • می‌توانید سوئیچ صدا را از تنظیمات جزئیات دستگاه بلوتوث خاموش کنید.
      • مورد آزمایشی چندنقطه‌ای (MP) نسخه ۲.۸ علاوه بر ۵ گوشی آزمایشی، به دستگاهی بدون سوئیچ صدا نیاز دارد.
  • برای نمایش اعلان‌های اشکال‌زدایی در تلفن‌های آزمایشی، با حساب‌های آزمایشی خود به گروه آزمایشی تغییر صدا بپیوندید.

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

کلاسیک با A2DP+HFP

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

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

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

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

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

کلاسیک با A2DP+HFP

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

  • گوشی A = اندروید S (12) + گوشی B = اندروید T (13)
  • گوشی A = اندروید T (13) + گوشی B = اندروید S (12)

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

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

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

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

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

راهنمای تست

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

  • تأیید کنید که دستگاه بلوتوث قبلاً با هیچ تلفنی که به حساب گوگل آزمایشی وارد شده است، جفت نشده باشد.
    • اگر دستگاه به حساب گوگل آزمایشی متصل شده است، برای پاک کردن اتصال، موارد زیر را انجام دهید:
      • در دستگاه‌های جفت‌شده:
        • به تنظیمات بلوتوث بروید.
        • گزینه «فراموش کردن دستگاه» را انتخاب کنید.
        • حالت هواپیما را روشن و خاموش کنید.
    • مطمئن شوید که گزینه «ذخیره خودکار دستگاه‌ها» روشن است.
      • این سوئیچ به طور پیش‌فرض خاموش است.
      • می‌توانید این گزینه را در تنظیمات > گوگل > دستگاه‌ها > دستگاه‌های ذخیره‌شده (یکی برای هر دستگاه ذخیره‌شده) پیدا کنید.
    • دستگاه بلوتوث را در حالت جفت‌سازی (Pairing Mode) قرار دهید.
    • دستگاه بلوتوث اولیه (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 را در فیلدهای «تلفن» و «سیستم عامل» در بالای الگو وارد کنید.

یک نمونه مورد آزمایش:

  • گوشی‌های آزمایشی:

    • دستگاه ۱: سامسونگ (اندروید ۱۳)
    • دستگاه ۲: پیکسل (اندروید ۱۲ یا ۱۳) و سایر دستگاه‌ها.
  • آزمایش‌های اجرا شده:

    • اجرای ۱. دستگاه A = سامسونگ S10+ (12)، دستگاه B = پیکسل 7 پرو (13) ستون D: تلفن = پیکسل 7 پرو، سیستم عامل = اندروید 13
    • اجرای ۲. دستگاه A = پیکسل ۷ پرو (۱۳)، دستگاه B = پیکسل ۶ (۱۲) ستون E: تلفن = پیکسل ۶، سیستم عامل = اندروید ۱۲

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

This picture shows the results of an example test

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

  1. دستگاه A = اندروید V (15) + دستگاه B = اندروید T (13)
  2. دستگاه A = اندروید T (13) + دستگاه B = اندروید V (15)
  3. دستگاه A = اندروید T (13) + دستگاه B = اندروید S (12)
  4. دستگاه A = اندروید T (15) + دستگاه B = اندروید V (15)
  5. دستگاه B، DUT اصلی خواهد بود.
    • جزئیات دستگاه B را در فیلدهای «تلفن» و «سیستم عامل» در بالای الگو وارد کنید.

یک نمونه مورد آزمایش:

  • گوشی‌های آزمایشی:

    • دستگاه ۱: سامسونگ (اندروید ۱۳)
    • دستگاه ۲: پیکسل (اندروید ۱۵) و سایر دستگاه‌ها.
  • آزمایش‌های اجرا شده:

    • [LEA+BT]: دستگاه A = Pixel 8 (15)، دستگاه B = Pixel 7 pro (13) ستون D: تلفن = Pixel 7 pro، سیستم عامل = Android 13
    • [BT+LEA]: دستگاه A = پیکسل ۷ (۱۳)، دستگاه B = پیکسل ۸ (اندروید ۱۵) ستون E: تلفن = پیکسل ۸، سیستم عامل = اندروید ۱۵
    • [BT+BT]: دستگاه A = پیکسل 7 پرو (13)، دستگاه B = سامسونگ S10+ (12) ستون E: تلفن = سامسونگ S10+، سیستم عامل = اندروید 12
    • [LEA+LEA]: دستگاه A=Pixel 8 (15)، دستگاه B=Pixel 8(15) ستون E: تلفن=Pixel 8، سیستم عامل=Android 15

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

This picture shows the results of an example test

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

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

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

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

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

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

    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/رسانه/بازی در طول تست خودکار، تنظیمات تست را ساده کرده و تأخیر رویداد جستجوگر را کاهش می‌دهد.
    • آخرین نسخه را می‌توان از اینجا دانلود کرد .
    • تست LE Audio VoIP نیاز به فعال‌سازی دستی یک سیاست دارد: > adb root > تنظیمات پوسته adb، قرار دادن سیاست پنهان api در سطح جهانی ۱ > راه‌اندازی مجدد adb
  • نصب برنامه:
    • apk را در گوشی آزمایشی خود کپی کرده و آن را باز کنید.
    • روش دیگر، استفاده از adb install audio_test_app.apk است.
  • اگر پنجره‌ای برای درخواست دسترسی به اعلان‌ها مشاهده کردید:
    1. روی «تایید» کلیک کنید
    2. در لیست برنامه‌ها، گزینه «آزمون FP SASS» را انتخاب کنید.
    3. دسترسی به اعلان‌ها را مجاز کنید.

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

This picture is an example of the app running

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

    • با کلیک روی این دکمه، فهرستی از دستگاه‌های بلوتوث جفت‌شده نمایش داده می‌شود. دستگاهی را که می‌خواهید آزمایش کنید، انتخاب کنید.
    • دکمه‌های اتصال و قطع اتصال مانند دکمه‌ای که در تنظیمات بلوتوث دستگاه وجود دارد، عمل می‌کنند.
  • وضعیت فعلی

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

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

نوع صوتی

کلاسیک با A2DP+HFP

  • وی‌پی‌او
    • انتخاب این حالت، حالت صدا را به 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 تغییر کند.

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

  • وی‌پی‌او

    • انتخاب این حالت، حالت صدا را به 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 صدا را شروع یا متوقف می‌کنند.
  • نتیجه را تغییر دهید

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

تأخیر تخلیه

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

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

موارد زیر از جمله باگ‌های شناخته‌شده‌ی ناشی از Seeker هستند:

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