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

هدف کنترل‌های قابل شنیدن در جفت سریع، ارائه کنترل‌های دسترسی بهتر برای ویژگی‌های مهم Hearable در Android است. برای رسیدن به این هدف، یک گروه پیام جدید، کنترل‌های شنیدنی در جریان پیام اضافه شده است.

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

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

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

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

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

بایت نوع داده شرح ارزش
0 uint8 کنترل شنیدنی 0x08
1 uint8 به ایالت ANC اطلاع دهید 0x13
2 - 3 uint16 طول داده های اضافی 0x04
4 - 7 داده های کنترل ANC متفاوت است
داده های کنترل ANC
بایت نوع داده شرح ارزش
0 uint8 کد نسخه برای این نسخه 0x02 متفاوت است
1 پرچم ها UI تغییر می کند
هر حالت با توجه به مقدار بیت پرچم خود (1) فعال یا غیرفعال می شود (0) به شرح زیر:
بیت 0 (MSB): شفاف
بیت 1: رزرو شده (بیت را روی 0 تنظیم کنید)
بیت 2: خاموش
بیت 3: رزرو شده (بیت را روی 0 تنظیم کنید)
بیت 4: ANC
متفاوت است
2 پرچم ها ضامن های قابل تنظیم
ممکن است تمام یا هر یک از بیت‌های تغییر رابط کاربری در بالا نیز در اینجا تنظیم شوند تا مشخص شود کدام بیت‌ها در حال حاضر فعال هستند.
متفاوت است
3 پرچم ها وضعیت فعلی
فقط یک بیت را می توان تنظیم کرد
متفاوت است

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

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

بایت نوع داده شرح ارزش
0 uint8 کد نسخه 0x01
1 پرچم ها UI تغییر می کند 0b10101000
2 پرچم ها ضامن های قابل تنظیم 0b10101000
3 پرچم ها وضعیت فعلی 0b00100000

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

بایت نوع داده شرح ارزش
0 uint8 کد نسخه 0x01
1 پرچم ها تغییر رابط کاربری 0b10101000
2 پرچم ها کلید قابل تنظیم 0b00000000
3 پرچم ها وضعیت فعلی 0b00100000

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

بایت نوع داده شرح ارزش
0 uint8 کنترل شنیدنی 0x08
1 uint8 حالت ANC را تنظیم کنید 0x12
2 - 3 uint16 طول داده های اضافی متفاوت است ، 0x04 یا 0x14
4 uint8 کد نسخه جستجوگر متغیر است ، 0x01 یا 0x02
5 پرچم ها حالت های قابل تنظیم ANC (تغییر رابط کاربری) متفاوت است
6 پرچم ها حالت های فعال ANC (تغییر قابل تنظیم) متفاوت است
7 پرچم ها نمایه حالت ANC جدید (وضعیت جدید) متفاوت است
8 - 23 رزرو شده است متفاوت است

بایت 4 - 7 در واقع داده های کنترل ANC است که از سمت Seeker ارسال می شود. اگر مقدار طول اضافی 0x14 تنظیم شود، بایت های رزرو شده 8-23 وجود خواهند داشت و در صورت دریافت این بایت ها، ارائه دهنده باید آنها را نادیده بگیرد. اگر مقدار طول اضافی به عنوان 0x04 تنظیم شود، هیچ بایت رزرو شده ای وجود ندارد.

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