کنترل های شنیدنی
هدف کنترلهای قابل شنیدن در جفت سریع، ارائه کنترلهای دسترسی بهتر برای ویژگیهای مهم 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 را تأیید کند و به همه جویندگان متصل اطلاع دهد. اگر کاربر تنظیمات را از طریق اشاره هدست یا برنامه همراه تغییر دهد، ارائهدهنده باید اعلان را برای همه جستجوگران متصل ارسال کند.