تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
عناصر التحكّم في الأجهزة السمعية
تهدف عناصر التحكّم في الأجهزة السمعية ضمن ميزة "الإقران السريع" إلى توفير عناصر تحكّم أفضل في الوصول إلى الميزات المهمة للأجهزة السمعية على Android. تمت إضافة مجموعة رسائل جديدة لعناصر تحكّم Hearable
داخل دفق الرسائل لتحقيق ذلك.
اسم مجموعة الرسائل |
القيمة |
التحكّم في أجهزة السمع |
0x08 |
التحكّم الفعّال بالضوضاء
أصبحت ميزة "التحكّم الفعّال بالضوضاء" من الميزات البارزة في سمّاعات الرأس المميّزة. من جهة جهاز Seeker، ستتضمّن ميزة "الإقران السريع" واجهة مستخدم ومنطقًا لضبط الحالة والحصول عليها وحفظها، وسيتم تخزين الحالة على جهاز Provider.
يجب أن يرسل مقدّم الخدمة Session Nonce عند ربط بث الأحداث.
لتحقيق ذلك، يتم تحديد رموز الرسائل أدناه:
اسم رمز الرسالة |
القيمة |
المُرسِل |
المجيب |
التحكم في الوصول للوسائط |
ACK |
الحصول على حالة إلغاء الضوضاء النشط |
0x11 |
Seeker |
موفِّر الخدمة |
لا |
لا |
ضبط حالة ANC |
0x12 |
Seeker |
موفِّر الخدمة |
نعم |
نعم |
حالة "إلغاء الضوضاء النشط" |
0x13 |
موفِّر الخدمة |
Seeker |
لا |
لا |
عندما يتصل جهاز Seeker بجهاز Provider، أو عندما يتلقّى جهاز Provider رسالة "Get ANC
state"، يمكن لجهاز Provider إرسال إشعار بشأن حالة ANC لإعلام جهاز Seeker بإمكانية ANC وحالته المخزّنة. الرسالة هي كما يلي:
بيانات التحكّم في ميزة "إلغاء الضوضاء النشط"
بايت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
رمز الإصدار |
يختلف، 0x02 لهذا الإصدار |
1 |
أعلام |
مفاتيح واجهة المستخدم يتم تفعيل (1) أو إيقاف (0) كل وضع وفقًا لقيمة بت العلامة الخاص به، كما يلي: البت 0 (الأكثر أهمية): شفاف البت 1: تكيف (أو 0 إذا لم يكن متاحًا) البت 2: إيقاف البت 3: محجوز (اضبط البت على 0) البت 4: إلغاء الضوضاء النشط |
يختلف |
2 |
أعلام |
أزرار التبديل القابلة للضبط يمكن أيضًا ضبط أيّ من أجزاء أزرار التبديل في واجهة المستخدم أعلاه أو جميعها هنا للإشارة إلى الأجزاء المفعّلة حاليًا. |
يختلف |
3 |
أعلام |
الحالة الحالية يمكن ضبط بت واحد فقط ويجب أن تكون قيمة وحدة البايت هذه غير صفرية. |
يختلف |
ستعرض أداة البحث واجهة مستخدم زر التبديل وفقًا لبيانات التحكّم في ميزة "إلغاء الضوضاء النشط".
المثال 1: يتيح مقدّم الخدمة ميزة "إلغاء الضوضاء النشط" بثلاث طرق: شفاف - إيقاف - "إلغاء الضوضاء النشط"، وتكون السمّاعات على الرأس، ويمكن ضبط جميع الأوضاع الآن، والحالة الحالية هي إيقاف:
بايت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
رمز الإصدار |
0x01 |
1 |
أعلام |
مفاتيح تبديل واجهة المستخدم |
0b10101000 |
2 |
أعلام |
أزرار التبديل القابلة للضبط |
0b10101000 |
3 |
أعلام |
الحالة الحالية |
0b00100000 |
المثال 2: يتيح مقدّم الخدمة ميزة "إلغاء الضوضاء النشط" (ANC) بثلاث طرق: شفاف - إيقاف - إلغاء الضوضاء النشط، ولا يتم وضع سوى سماعة أذن واحدة على الرأس أو لا يتم وضع أي سماعات أذن على الرأس، وبالتالي لا يمكن ضبط أي أوضاع، والحالة الحالية هي "إيقاف":
بايت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
رمز الإصدار |
0x01 |
1 |
أعلام |
زر التبديل في واجهة المستخدم |
0b10101000 |
2 |
أعلام |
زر تبديل قابل للضبط |
0b00000000 |
3 |
أعلام |
الحالة الحالية |
0b00100000 |
إذا بدّل المستخدم زر التبديل، سيضبط تطبيق Seeker الحالة الحالية على تطبيق Provider على النحو التالي:
بايت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
التحكّم في أجهزة السمع |
0x08 |
1 |
uint8 |
ضبط حالة ANC |
0x12 |
2 - 3 |
uint16 |
طول البيانات الإضافية |
يختلف، 0x04 أو 0x14 |
4 |
uint8 |
رمز إصدار Seeker |
يختلف، 0x01 أو 0x02 |
5 |
أعلام |
أوضاع إلغاء الضوضاء النشط القابلة للضبط (زر التبديل في واجهة المستخدم) |
يختلف |
6 |
أعلام |
الأوضاع التي تم تفعيل ميزة "إلغاء الضوضاء النشط" فيها (مفتاح تبديل قابل للضبط) |
يختلف |
7 |
أعلام |
فهرس وضع إلغاء الضوضاء النشط الجديد (حالة جديدة) |
يختلف |
8 - 23 |
|
تم الحجز |
يختلف |
البايت 4 - 7 هي في الواقع بيانات التحكّم في إلغاء الضوضاء النشط التي يتم إرسالها من جانب
Seeker. إذا تم ضبط قيمة الطول الإضافي على 0x14، ستكون البايتات المحجوزة من 8 إلى 23 متوفّرة، وعلى مقدّم الخدمة تجاهلها عند استلامها.
إذا تم ضبط قيمة الطول الإضافي على 0x04، لن تكون هناك وحدات بايت محجوزة.
عندما يتلقّى "مقدّم الخدمة" رسالة "ضبط حالة إلغاء الضوضاء النشط"، عليه إرسال إقرار بالاستلام
وإعلام جميع "الباحثين" المتصلين بحالة إلغاء الضوضاء النشط.
إذا غيّر المستخدم الإعداد من خلال إيماءة سماعة الرأس أو تطبيق مصاحب، على "مقدّم الخدمة" أيضًا إرسال إشعار إلى جميع "الباحثين" المتصلين.
المثال 3: يتيح موفّر الخدمة ميزة "إلغاء الضوضاء النشط" بأربعة اتجاهات: شفاف - تكيفي - إيقاف - إلغاء الضوضاء النشط،
سماعات الأذن موضوعة على الرأس، ويمكن ضبط جميع الأوضاع الآن، والحالة الحالية هي "تكيفي":
بايت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
رمز الإصدار |
0x01 |
1 |
أعلام |
زر التبديل في واجهة المستخدم |
0b11101000 |
2 |
أعلام |
زر تبديل قابل للضبط |
0b11101000 |
3 |
أعلام |
الحالة الحالية |
0b01000000 |
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-28 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-28 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eHearable Controls utilize Message Stream to enhance access to headphone features on Android.\u003c/p\u003e\n"],["\u003cp\u003eActive Noise Control (ANC) functionality allows for setting, retrieving, and saving noise cancellation preferences.\u003c/p\u003e\n"],["\u003cp\u003eANC state is communicated between devices, allowing the user interface to reflect available and current noise control modes.\u003c/p\u003e\n"],["\u003cp\u003eANC state can be controlled by the user via device UI and is synchronized across connected devices through notifications.\u003c/p\u003e\n"]]],["Hearable controls are added within the Message Stream for better access to hearable features. Active Noise Control (ANC) functionality is implemented, allowing the Seeker to get, set, and save the ANC state, which is stored by the Provider. The Provider can notify the Seeker of ANC capabilities and stored state. UI toggles for ANC are managed via flags, including transparent, off, and ANC modes. The Seeker sends a \"Set ANC state\" message to update the current ANC mode. The Provider must acknowledge these messages and notify connected Seekers.\n"],null,["Hearable Controls\n\nHearable controls on Fast Pair aim to provide better access controls for\nimportant Hearable features on Android. A new message group Hearable\ncontrols inside [Message Stream](/nearby/fast-pair/specifications/extensions/messagestream#MessageStream \"Message Stream\") has been added to achieve this.\n\n| Message Group Name | Value |\n|--------------------|-------|\n| Hearable control | 0x08 |\n\nActive noise control\n\nActive noise control is becoming a prominent feature for premium headphones. On\nthe Seeker side, Fast Pair will have the UI and logic to set, get and save the\nstate, and the state will be stored on the Provider side.\nIt is mandatory for provider to send [Session Nonce](/nearby/fast-pair/specifications/extensions/mac#SessionAndMessageNonce \"Session Nonce\") when event\nstream is connected.\nTo achieve this, below message codes are defined:\n\n| Message Code Name | Value | Sender | Responder | MAC | ACK |\n|-------------------|-------|----------|-----------|-----|-----|\n| Get ANC state | 0x11 | Seeker | Provider | N | N |\n| Set ANC state | 0x12 | Seeker | Provider | Y | Y |\n| Notify ANC state | 0x13 | Provider | Seeker | N | N |\n\nWhen a Seeker connects to a Provider, or when a Provider receives a \"Get ANC\nstate\" message, the Provider\ncan Notify the ANC state to let the Seeker know its ANC capability and its\nstored state. The message is as follow:\n\n| Byte | Data Type | Description | Value |\n|-------|-----------|-------------------------------------|----------|\n| 0 | uint8 | Hearable control | 0x08 |\n| 1 | uint8 | Notify ANC state | 0x13 |\n| 2 - 3 | uint16 | Additional data length | 0x04 |\n| 4 - 7 | | [ANC control data](#ANCControlData) | *varies* |\n\nANC control data\n\n| Byte | Data Type | Description | Value |\n|------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|\n| 0 | uint8 | Version code | *varies*, 0x02 for this version |\n| 1 | Flags | UI toggles Each mode is enabled (1) or disabled (0) according to the value of its flag bit, as follows: Bit 0 (MSB): transparent Bit 1: adaptive (or 0 if it is not supported) Bit 2: off Bit 3: Reserved (Set bit to 0) Bit 4: ANC | *varies* |\n| 2 | Flags | Settable toggles Any or all of the UI toggle bits above may also be set here, to indicate which are currently enabled. | *varies* |\n| 3 | Flags | Current state Only one bit can be set and value of this byte shall be non zero. | *varies* |\n\nThe Seeker will show the toggle UI according to the ANC control data.\n\nExample 1: The Provider supports 3-way ANC: transparent - off - ANC \\& buds are\non-head, all modes are settable now, and current state is off:\n\n| Byte | Data Type | Description | Value |\n|------|-----------|------------------|------------|\n| 0 | uint8 | Version code | 0x01 |\n| 1 | Flags | UI toggles | 0b10101000 |\n| 2 | Flags | Settable toggles | 0b10101000 |\n| 3 | Flags | Current state | 0b00100000 |\n\nExample 2: The Provider supports 3-way ANC: transparent - off - ANC, only one\nbud is on-head now or no buds is on-head, so no modes are settable, and the\ncurrent state is off:\n\n| Byte | Data Type | Description | Value |\n|------|-----------|-----------------|------------|\n| 0 | uint8 | Version code | 0x01 |\n| 1 | Flags | UI toggle | 0b10101000 |\n| 2 | Flags | Settable toggle | 0b00000000 |\n| 3 | Flags | Current state | 0b00100000 |\n\nIf the user switches the toggle, the Seeker will set the current state to the\nProvider as follow:\n\n| Byte | Data Type | Description | Value |\n|--------|-----------|-------------------------------------|------------------------|\n| 0 | uint8 | Hearable control | 0x08 |\n| 1 | uint8 | Set ANC state | 0x12 |\n| 2 - 3 | uint16 | Additional data length | *varies*, 0x04 or 0x14 |\n| 4 | uint8 | Seeker Version code | *varies*, 0x01 or 0x02 |\n| 5 | Flags | ANC Settable modes (UI toggle) | *varies* |\n| 6 | Flags | ANC Enabled modes (Settable toggle) | *varies* |\n| 7 | Flags | New ANC mode index (New state) | *varies* |\n| 8 - 23 | | Reserved | *varies* |\n\nThe byte 4 - 7 is actually [ANC control data](#ANCControlData) sent from\nSeeker side. If additional length value is set as 0x14, the reserved bytes 8-23\nwould be present and on receipt of these bytes, the provider should ignore them.\nIf additional length value is set as 0x04, there are no reserved bytes present.\n\nWhen a Provider receives a \"Set ANC state\" message, it should [Acknowledge](/nearby/fast-pair/specifications/extensions/acknowledgement#MessageStreamAcknowledgements \"Message Stream Acknowledgements\"),\nand Notify ANC state to all connected Seekers.\nIf the user changes the setting via headset gesture or companion application,\nthe Provider should also send notification to all connected Seekers.\n\nExample 3: The Provider supports 4-way ANC: transparent - adaptive - off - ANC,\nbuds are on-head, all modes are settable now, and current state is adaptive:\n\n| Byte | Data Type | Description | Value |\n|------|-----------|-----------------|------------|\n| 0 | uint8 | Version code | 0x01 |\n| 1 | Flags | UI toggle | 0b11101000 |\n| 2 | Flags | Settable toggle | 0b11101000 |\n| 3 | Flags | Current state | 0b01000000 |"]]