Технология Bluetooth Low Energy Audio (LEA) обеспечивает пользователям высококачественный звук без ущерба для заряда батареи и позволяет плавно переключаться между различными сценариями использования. Android 13 (уровень API 33) включает встроенную поддержку LEA.
Большинство гарнитур правоохранительных органов будут двухрежимными до тех пор, пока не увеличится доля рынка устройств-источников информации для правоохранительных органов. Пользователи должны иметь возможность сопрягать и настраивать оба режима воспроизведения на своих двухрежимных гарнитурах.
Варианты использования
Возможно, вам потребуется интегрировать LEA в следующих сценариях использования:
Совместное использование аудио: Пользователи могут одновременно передавать несколько аудиопотоков на одно или несколько устройств приема аудиосигнала. Аудио синхронизируется между исходным устройством и подключенными устройствами.
Трансляция аудио: Пользователи могут транслировать аудио друзьям и родственникам, а также подключаться к публичным трансляциям для получения информации, развлечения или в целях обеспечения доступности.
Поддержка аудиокодека LC3: это аудиокодек по умолчанию, заменяющий кодек SBC, используемый для A2DP (медиа) и mSBC в HFP (голосовая связь). LC3 более эффективен, обладает возможностью перенастройки и обеспечивает более высокое качество.
Улучшения в частотной дискретизации звука: гарнитуры могут поддерживать высокое качество выходного звука при использовании микрофонов. Классический Bluetooth снижает качество звука при использовании Bluetooth-микрофонов. Благодаря BLE Audio частота дискретизации входного и выходного сигнала может достигать 32 кГц.
Стереомикрофон: Наушники Hearables могут записывать звук с помощью стереомикрофонов для улучшения пространственного звучания.
Поддержка профиля слухового аппарата (HAP): HAP обеспечивает пользователям большую доступность и удобство использования по сравнению с предыдущими протоколами ASHA. Пользователи могут использовать свои слуховые аппараты для телефонных звонков и приложений VoIP.
Поддержка протокола Enhanced Attribute (EATT): EATT позволяет разработчикам отправлять несколько команд одновременно на сопряженные наушники.
Ключевые сценарии
Существует четыре основные категории вариантов использования:
Разговорный режим: приложения для дозвона и VoIP, требующие маршрутизации связи с низкой задержкой, обеспечивают высокое качество звука и меньшее потребление заряда батареи.
Игры: Одновременная передача звука с микрофона и высококачественного воспроизведения позволяет играм передавать высококачественный звук на наушники. Игровое приложение может получить доступ к аудиовходу BLE, когда игра активирует Bluetooth-микрофон как готовый к использованию. Затем, когда игрок начинает живой разговор с другим игроком, игровое приложение может использовать данные с микрофона без задержки.
Медиа: Медиаприложениям разрешено устанавливать предпочтительное устройство в настройках аудиоменеджера. Пользователь может изменить это, выбрав предпочтительное устройство в системных настройках.
Доступность: Слуховые аппараты, поддерживающие BLE Audio, теперь могут использовать микрофон, что позволяет пользователям непрерывно использовать свои слуховые аппараты для совершения звонков.
API и методы BLE Audio
Для поддержки наушников с поддержкой BLE Audio необходимы следующие API и методы:
Аудиоменеджер
-
setCommunicationDevice()выбирает аудиоустройство, которое должно использоваться для сценариев связи, например, голосовых или видеозвонков. Этот метод может использоваться приложениями для голосового или видеочата для выбора другого аудиоустройства, отличного от того, которое выбрано платформой по умолчанию. Этот API заменяет следующие устаревшие API:startBluetoothSco(),stopBluetoothSco()иsetSpeakerphoneOn(). -
clearCommunicationDevice()вызывается после завершения вызова или сессии вашего приложения, чтобы обеспечить пользователю удобство при переключении между различными приложениями.
Профиль Bluetooth
-
BluetoothLeAudioуправляет службой Bluetooth через прокси-объект.
Услуги связи InCall
-
InCallService#requestCallEndpointChange()заменяет устаревшие API-функцииInCallService.setAudioRoute()иInCallService.requestBluetoothAudio(), позволяя приложениям запрашивать маршрутизацию звука к определеннойCallEndpoint). Клиентам не следует определять свою собственнуюCallEndpointпри запросе изменения. Вместо этого новая конечная точка должна быть одной из допустимых конечных точек, предоставляемых методомInCallService.onAvailableCallEndpointsChanged(java.util.List). -
CallEndpoint.TYPE_BLUETOOTHнаправляет аудиопоток через Bluetooth. - Упомянутые выше API
InCallServiceпредназначены для использования стандартным телефонным приложением на телефоне Android или другими устройствами для совершения звонков, такими как носимые устройства, автомобили или другие устройства Bluetooth, которые могут захотеть повлиять на маршрутизацию звука.
Telecom CallControl
- В API уровня 34 представлен новый класс
CallControl, заменяющийConnectionиConnectionServiceтолько для VoIP-приложений. -
CallControl.requestCallEndpointChange()также запрашивает изменениеCallEndpoint. Этот API заменяет устаревшие методыConnection.requestBluetoothAudio()иConnection.setAudioRoute(). - Помимо обновленных API платформы Telecom, библиотека Telecom Jetpack настоятельно рекомендуется при разработке приложений для голосовых и/или видеозвонков. Эта библиотека может значительно упростить процесс интеграции и улучшить качество VoIP-звонков на всех платформах Android.
Информация об аудиоустройстве
-
AudioDeviceInfo.TYPE_BLE_HEADSETописывает тип аудиоустройства как LEA-устройство. Используется для определения того, является ли слышимое устройство LEA-устройством.
Аудиозапись
-
setPreferredDevice()устанавливает предпочтительное устройство для маршрутизации звука. Пользователь может переопределить это в системных настройках.
Bluetooth-адаптер
-
isLeAudioSupported(): Возвращает константу@BluetoothStatusCodes(FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDили код ошибки), указывающую, поддерживает ли устройство технологию LE Audio. -
isLeAudioBroadcastSourceSupported(): Возвращает константу@BluetoothStatusCodes(FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDили код ошибки), указывающую, поддерживает ли аппаратное обеспечение устройства источник широковещательной передачи LE Audio.
Руководства, основанные на конкретных сценариях использования.
Ниже приведены рекомендации по внедрению LEA на основе конкретных сценариев использования.
Приложения для голосовой связи
Приложения голосовой связи могут управлять маршрутизацией звука и состоянием устройства либо самостоятельно, либо с помощью API телекоммуникаций, который выполняет логику маршрутизации звука и управления состоянием за вас.
Самостоятельное управление: Для приложений, которые в настоящее время используют
startBluetoothSco(),stopBluetoothSco()иsetSpeakerphoneOn()или хотят самостоятельно управлять состоянием маршрутизации звука, следуйте руководству по самостоятельному управлению вызовами в Audio Manager .Управляемое приложение: используйте библиотеку Telecom Jetpack или API платформы Telecom для создания приложения для аудио- или видеозвонков.
Эти два решения позволяют быстро и легко управлять маршрутизацией звука и переключаться между устройствами Bluetooth. Для получения дополнительной информации см. руководство по управлению вызовами в телекоммуникационной отрасли .
приложения для аудиозаписи
- Медиарекордер: При записи звука с помощью медиарекордера теперь можно записывать в стереорежиме, если Bluetooth-наушник поддерживает LEA. Ознакомьтесь с руководством по записи звука .
Рекомендации по использованию гарнитуры LE Audio (LEA)
По мере выпуска новых гарнитур LEA мы обнаружили в ходе реального тестирования проблемы, ухудшающие пользовательский опыт. Спецификация не охватывает все эти проблемы. В следующей таблице приведен список рекомендаций, которым производители гарнитур LEA должны следовать для улучшения общего пользовательского опыта для пользователей Android.
| Описание | Контекст |
|---|---|
Поддержка генерации ключей для передачи данных между двумя режимами (CTKD) для двухрежимных гарнитур:
| Большинство новых гарнитур LEA будут двухрежимными до тех пор, пока не увеличится доля рынка устройств-источников LEA. Важно, чтобы пользователи могли беспрепятственно сопрягать свои двухрежимные гарнитуры и настраивать оба режима воспроизведения. Это также важно для Google Fast Pair. |
Для обеспечения надежного повторного подключения гарнитур LEA к исходным устройствам необходимо поддерживать целевые объявления (TA) . Наушники LE Audio должны использовать TA для запроса входящего соединения от центральных устройств. Будет включено в состав будущей специальной группы BT. | В отличие от модели пейджинга BR/EDR, где соединение может быть инициировано либо телефоном, либо гарнитурой, в LEA соединение должно инициироваться центральным устройством. В настоящее время многие гарнитуры не используют TA (Transactional Access), что означает, что центральное устройство может не иметь возможности переподключиться к периферийному устройству без добавления его в список разрешенных устройств (Allowlist). Однако обходной путь с использованием списка разрешенных устройств может помешать гарнитуре подключиться к другому центральному устройству. Поэтому важно, чтобы гарнитуры LEA корректно поддерживали TA, чтобы центральное устройство могло надежно переподключаться без обходных путей, которые могут нарушить многоточечные соединения. |
Оптимизированная функция обнаружения для наушников с двумя режимами работы.
| Это предотвращает появление дублирующихся записей о двухрежимных наушниках LEA в настройках Bluetooth, что может сбить с толку пользователей и ухудшить процесс сопряжения LEA. Динамическое избрание лидера особенно важно для двухрежимных устройств, которые сопрягаются постепенно. Например, если при первоначальном сопряжении доступен только один наушник, он должен отображаться как двухрежимное устройство. Когда пользователь позже сопрягает второй наушник, ему нужно только выполнить сопряжение с компонентом LE, и CSIP обеспечит их объединение в группу на Android. При сопряжении рекомендуется указывать идентификационный адрес, поскольку компонент BR/EDR уже предоставляет публичный адрес устройства находящимся поблизости устройствам. |
| Поддержка протокола расширенных атрибутов (EATT) . | Уменьшает задержку при сопряжении и подключении. |
| Поддержка надежного кэширования GATT. | Уменьшает задержку соединения, особенно для беспроводных наушников TWS. |
| Поддержка субрейтинга соединения . | Это позволяет более гибко планировать отправку пакетов и потенциально экономить заряд батареи. |
| Убедитесь, что на этапах предварительной и постобработки как при воспроизведении, так и при захвате, конвейер обработки сигналов может работать на частотах 16, 24, 32 и 48 кГц, а также поддерживать более высокие частоты . | Использует преимущества более высоких частот дискретизации, поддерживаемых для каналов захвата вызовов LEA или VoIP и воспроизведения мультимедиа. |
| Поддержка управления питанием LE | Улучшенное управление энергопотреблением |
Поддержка типов контекста
| Описание | Контекст |
|---|---|
| Используйте все типы контекста, указанные в разделе «Назначенные номера» 6.12.3 , если только гарнитура явно не поддерживает данный тип контекста. | Например, если тип контекста "Игра" не поддерживается, Android будет отправлять звуки игры. В частности, следует отметить, что тип контекста "Не указано" не означает "любой тип контекста" и не охватывает неподдерживаемые типы контекста. |
Когда центральное устройство взаимодействует с ASCS периферийного устройства, периферийное устройство должно подключиться к MCS и TBS центрального устройства. Центральное устройство может не всегда использовать аудиоформат LE в качестве маршрута потоковой передачи, поскольку оно может переключаться на использование A2DP или HFP. Периферийное устройство может использовать взаимодействие ASCS в качестве индикатора того, будет ли центральное устройство использовать аудиоформат LE для потоковой передачи. Несколько примеров взаимодействия ASCS: чтение, запись и регистрация для получения уведомлений. |