کنترل‌های شنیداری

کنترل‌های شنیداری در Fast Pair با هدف ارائه کنترل‌های دسترسی بهتر برای ویژگی‌های مهم شنیداری در اندروید طراحی شده‌اند. برای دستیابی به این هدف، یک گروه پیام جدید با کنترل‌های شنیداری در Message Stream اضافه شده است.

نام گروه پیام ارزش
کنترل شنیداری 0x08

کنترل فعال نویز

کنترل فعال نویز در حال تبدیل شدن به یک ویژگی برجسته برای هدفون‌های پریمیوم است. در سمت Seeker، Fast Pair رابط کاربری و منطق لازم برای تنظیم، دریافت و ذخیره وضعیت را خواهد داشت و وضعیت در سمت Provider ذخیره می‌شود. ارسال Session Nonce توسط Provider هنگام اتصال جریان رویداد الزامی است. برای دستیابی به این هدف، کدهای پیام زیر تعریف شده‌اند:

نام کد پیام ارزش فرستنده پاسخگو مک تایید
دریافت وضعیت ANC 0x11 جستجوگر ارائه دهنده ن ن
تنظیم حالت ANC 0x12 جستجوگر ارائه دهنده ی ی
به ایالت ANC اطلاع دهید 0x13 ارائه دهنده جستجوگر ن ن

وقتی یک جستجوگر به یک ارائه‌دهنده متصل می‌شود، یا وقتی یک ارائه‌دهنده پیام "دریافت وضعیت ANC" را دریافت می‌کند، ارائه‌دهنده می‌تواند وضعیت ANC را اطلاع دهد تا جستجوگر از قابلیت ANC و وضعیت ذخیره‌شده خود مطلع شود. این پیام به شرح زیر است:

بایت نوع داده توضیحات ارزش
0 uint8 کنترل شنیداری 0x08
۱ uint8 به ایالت ANC اطلاع دهید 0x13
۲ - ۳ واحد۱۶ طول داده اضافی 0x04
۴ - ۷ داده‌های کنترل ANC متغیر است
داده‌های کنترل ANC
بایت نوع داده توضیحات ارزش
0 uint8 کد نسخه متفاوت است ، 0x02 برای این نسخه
۱ پرچم‌ها رابط کاربری تغییر می‌کند
هر حالت با توجه به مقدار بیت پرچم خود، فعال (1) یا غیرفعال (0) می‌شود، به شرح زیر:
بیت ۰ (MSB): شفاف
بیت ۱: تطبیقی ​​(یا ۰ اگر پشتیبانی نمی‌شود)
بیت ۲: خاموش
بیت ۳: رزرو شده (بیت را روی ۰ تنظیم کنید)
بیت ۴: ANC
متغیر است
۲ پرچم‌ها ضامن‌های قابل تنظیم
هر یک یا همه بخش‌های تغییر وضعیت رابط کاربری بالا را می‌توان در اینجا نیز تنظیم کرد تا مشخص شود کدام یک در حال حاضر فعال هستند.
متغیر است
۳ پرچم‌ها وضعیت فعلی
فقط یک بیت می‌تواند تنظیم شود و مقدار این بایت باید غیر صفر باشد.
متغیر است

جستجوگر، رابط کاربریِ ضامن را مطابق با داده‌های کنترل ANC نشان می‌دهد.

مثال ۱: ارائه دهنده از ANC سه طرفه پشتیبانی می‌کند: شفاف - خاموش - ANC و هدفون‌ها روی سر هستند، اکنون همه حالت‌ها قابل تنظیم هستند و وضعیت فعلی خاموش است:

بایت نوع داده توضیحات ارزش
0 uint8 کد نسخه 0x02
۱ پرچم‌ها رابط کاربری تغییر می‌کند 0b10101000
۲ پرچم‌ها ضامن‌های قابل تنظیم 0b10101000
۳ پرچم‌ها وضعیت فعلی 0b00100000

مثال ۲: ارائه‌دهنده از ANC سه‌طرفه پشتیبانی می‌کند: شفاف - خاموش - ANC، در حال حاضر فقط یک هدفون روی سر است یا هیچ هدفونی روی سر نیست، بنابراین هیچ حالتی قابل تنظیم نیست و وضعیت فعلی خاموش است:

بایت نوع داده توضیحات ارزش
0 uint8 کد نسخه 0x02
۱ پرچم‌ها رابط کاربری را تغییر دهید 0b10101000
۲ پرچم‌ها ضامن قابل تنظیم ۰ب۰۰۰۰۰۰۰۰
۳ پرچم‌ها وضعیت فعلی 0b00100000

اگر کاربر این گزینه را تغییر دهد، جستجوگر وضعیت فعلی را به صورت زیر روی Provider تنظیم می‌کند:

بایت نوع داده توضیحات ارزش
0 uint8 کنترل شنیداری 0x08
۱ uint8 تنظیم حالت ANC 0x12
۲ - ۳ واحد۱۶ طول داده اضافی متغیر است ، 0x04 یا 0x14
۴ uint8 کد نسخه جستجوگر متغیر است ، 0x01 یا 0x02
۵ پرچم‌ها حالت‌های قابل تنظیم ANC (تغییر وضعیت رابط کاربری) متغیر است
۶ پرچم‌ها حالت‌های فعال ANC (قابل تنظیم) متغیر است
۷ پرچم‌ها شاخص حالت ANC جدید (وضعیت جدید) متغیر است
۸ - ۲۳ رزرو شده متغیر است

بایت‌های ۴ تا ۷ در واقع داده‌های کنترل ANC هستند که از سمت جستجوگر ارسال می‌شوند. اگر مقدار طول اضافی روی ۰x۱۴ تنظیم شود، بایت‌های رزرو شده ۸ تا ۲۳ وجود خواهند داشت و در هنگام دریافت این بایت‌ها، ارائه دهنده باید آنها را نادیده بگیرد. اگر مقدار طول اضافی روی ۰x۰۴ تنظیم شود، هیچ بایت رزرو شده‌ای وجود ندارد.

وقتی یک ارائه‌دهنده پیام "تنظیم وضعیت ANC" را دریافت می‌کند، باید وضعیت ANC را تأیید و به همه جویندگان متصل اطلاع دهد. اگر کاربر تنظیمات را از طریق ژست هدست یا برنامه همراه تغییر دهد، ارائه‌دهنده نیز باید به همه جویندگان متصل اعلان ارسال کند.

مثال ۳: ارائه‌دهنده از ANC چهارطرفه پشتیبانی می‌کند: شفاف - تطبیقی ​​- خاموش - ANC، هدفون‌ها روی سر هستند، اکنون همه حالت‌ها قابل تنظیم هستند و وضعیت فعلی تطبیقی ​​است:

بایت نوع داده توضیحات ارزش
0 uint8 کد نسخه 0x02
۱ پرچم‌ها رابط کاربری را تغییر دهید 0b11101000
۲ پرچم‌ها ضامن قابل تنظیم 0b11101000
۳ پرچم‌ها وضعیت فعلی 0b01000000