Отключить аппаратную разгрузку профиля bluetooth a2dp
Как описано в заголовке, при воспроизведении аудио через Bluetooth с A2DP я испытываю задержку в полсекунды.
Это делает просмотр фильмов невозможным, поскольку звук не синхронизирован с видео.
Я не уверен, вызвана ли задержка стандартом Bluetooth, протоколом A2PD, реализацией A2DP в Ubuntu 12.04 или Bluetooth-приемником Belkin Z73.
В любом случае, это нормальное отставание? Есть ли способ воспроизведения аудио через Bluetooth без заметных задержек?
Не реальное решение вашей проблемы, а обходной путь: если речь идет только о воспроизведении фильмов, вы можете отрегулировать смещение аудио / видео, что также приведет к задержке видео. Используя mplayer , вы делаете это, нажав + и - ключи. В VLC я не знаю, как установить задержку, но я был бы удивлен, если VLC не имеет такой опции. Я думал об этом, но мне не хватает решения для YouTube. Когда видео воспроизводится с использованием HTML5, решением может быть установка расширения для браузера, которое устанавливает смещение видео. Но для случая, когда видео воспроизводится со вспышкой, я не уверен, как этого добиться. Между прочим, опция VLC в Tools->Track Synchronisation , или играть с --audio-desync опцией. Боюсь, я не уверен, что такое подразделения, и в каком направлении они положительные, и по этому вопросу помощи не ожидается, но вы должны посмотреть на это. Вы нашли постоянное решение этой проблемы? В настоящее время я использую решение для переключения между A2DP / HSP / A2DP, но не практично продолжать делать это каждый раз, когда возникает проблема синхронизации.Нет, это не нормально, но у меня иногда возникала подобная проблема с моими динамиками Altec Lansing iMT525 Bluetooth. Что-то похожее на концепцию ответа Шри почти всегда работает для меня, и мне нужно сделать это только один раз за соединение.
Автоматическое переключение профилей Bluetooth для повторной инициализации PulseAudio
Если вы ищете виновника, я бы посмотрел на звуковую систему Ubuntu, сначала PulseAudio, а затем на ваш Bluetooth-ресивер. Попробуй это:
Сначала удалите и заново подключите устройство Bluetooth.
Затем скопируйте и вставьте приведенное ниже в .sh файл в вашем домашнем каталоге, скажем /home/brillout/pabluezswitch.sh :
Сделайте файл исполняемым, открыв терминал и набрав chmod +x
Перейдите в Настройки . Клавиатура . Сочетания клавиш и создайте пользовательский ярлык; Назовите его как хотите, с помощью команды as /home/brillout/pabluezswitch.sh (подставьте соответствующее имя пользователя в путь!). Нажмите Применить , а затем щелкните справа, где написано « Отключено», чтобы настроить сочетание клавиш для выполнения сценария.
Это заставляет систему PulseAudio ресинхронизировать звук, передаваемый на гарнитуру / динамики, переключая профили ad2p -> hsp -> a2dp , таким образом, надеясь избавиться от любой задержки.
Всякий раз, когда вы подключаетесь и замечаете задержку, вы должны нажать комбинацию клавиш, выбранную выше, чтобы попытаться устранить задержку - надеюсь, она сработает для вас!
Я использовал это в течение пары дней, и это прекрасно работает. - 14.04 Я думаю, что вам нужны цитаты вокруг этого шаблона egrep Я не думаю, что есть способ контролировать задержку и запускать этот сценарий автоматически, когда он превышает некоторый порог выше эталонного? pacmd info | grep "current latency" и, pacmd stat кажется, дают одинаковые числа задержки / размер буфера независимо от того, насколько велика фактическая задержка (например, когда гарнитура выходит за пределы диапазона и возвращает ее обратно), так что, возможно, другая задержка отвечает за задержку? @ odinho-Velmont переключается между ad2p_sink и off работает на меня. Я недавно добавил это в свой скрипт управления звуком / громкостью Pulse, который может кому-то пригодиться- Установите pavucontrol: sudo apt install pavucontrol
- Запустить pavucontrol из меню
- Перейти к устройствам вывода
- Перейти к устройству Bluetooth
- Перейти к Advanced
- Там вы можете установить смещение задержки на значение в миллисекундах (плюс или минус). Чтобы убедиться в значении, вы должны начать с любого значения, например, 250,00 миль.
- Воспроизведите любой «тест синхронизации звука» с YouTube и установите скорость воспроизведения на 0,25 (сделайте ее медленнее), и оттуда вы можете начать замечать, является ли значение правильным, или его необходимо увеличить или уменьшить.
Иногда я получаю подобную проблему, независимо от используемого игрока. Mine представляет собой Bluetooth BH-503 Bluetooth стерео наушники с ноутбуком MSI CR400 и Ubuntu 11.10. Я случайно наткнулся на обходной путь, который вы можете попробовать.
- Начните воспроизведение видео.
- Перейдите в Настройки звука> Оборудование.
- Выберите устройство Bluetooth.
- Затем в раскрывающемся меню «Настройки для выбранного устройства» переключитесь на профиль дуплексной телефонии (HSP / HFP), затем вернитесь к воспроизведению с высокой точностью воспроизведения (A2DP).
Верхний ответ здесь работает, но не для каждого аудиоустройства Bluetooth. Некоторые устройства имеют разные имена профилей, чем у этого плаката с его динамиками Bluetooth. Например, в следующем коде, который первоначально был опубликован этим человеком, он, очевидно, имеет профили с именем a2dp и hsp . Например, ни один из них не доступен с моими тонами LG, но они есть с другими устройствами, такими как моя гарнитура Sony.
Этот код будет работать для большинства устройств Bluetooth, как он появляется, но для корректной работы с теми устройствами, которые не имеют профиля a2dp или профиля hsp, введите:
Это вернет все после того, как он найдет устройство Bluetooth. Например, с гарнитурой LG Tone Ultra я получаю следующее:
Мы заинтересованы в profiles разделе. В этом разделе, мы видим три профиля, которые a2dp_sink , headset_head_unit и off . В них должны быть два профиля (A2DP Sink) и (HSP / HFP). В этом случае они предназначены a2dp_sink для профиля a2dp и headsethead_unit для профиля hsp . Обратите внимание, что это отличается от оригинального плаката a2dp и hsp .
Теперь, с помощью приведенного выше кода, мы изменим его и поместим в файл. Я позвонил в файл bluezswitch.sh .
Перейдите в каталог, в который вы хотите поместить файл. Это может быть где угодно.
Скопируйте и вставьте код в самом верху этого комментария, замените значения a2dp и hsp на значения, полученные при запуске вышеуказанной команды, и вставьте его в этот файл. Например, именно так мой файл выглядел для моих LG Tones.
Теперь, ctrl-x затем y сохранить файл и выйти из нано, а затем сделать файл исполняемым:
Затем выполните настройку сочетания клавиш, как описано выше.
Перейдите в Настройки . Клавиатура . Сочетания клавиш и создайте пользовательский ярлык; Назовите его как хотите, с помощью команды /home/brillout/bluezswitch.sh (подставьте соответствующее имя пользователя в путь!). Нажмите Применить, а затем щелкните справа, где написано «Отключено», чтобы настроить сочетание клавиш для выполнения сценария.
Это должно быть все, что нужно сделать. Это должно работать для всех тех, для кого он не работал раньше.
Подробный разбор полезных функций и настроек вашего смартфона продолжается и сегодня речь пойдет о настройках звука, которые вы можете найти в меню «Для разработчиков».
В прошлой статье (ссылку на которую найдёте ниже) я показал несколько пунктов, которые я рекомендую отключать, а так же подробно остановился на настройке «Буфера журнала», если ещё не читали, то рекомендую ознакомиться после прочтения этой публикации.
Ну что же, без лишних слов приступаем к подробному обзору и первым пунктом, смысл которого я бы хотел объяснить, станет:
Отключить абсолютный уровень громкости Bluetooth
Основным назначением этой настройки является недопущение перегрузки подключённых по Bluetooth наушников и колонок. Если активировать этот переключатель, устройству будет запрещено выходить на максимальную мощность.
Именно поэтому если в ваших беспроводных наушниках, при подключении к смартфону, звук становиться сильно тише привычного уровня, я рекомендую отключить абсолютный уровень.
Отключить аппаратную разгрузку профиля
Этот пункт, как правило не требует вмешательства пользователя смартфона, но в очень редких случаях, при отсутствии звука в Bluetooth наушниках, его нужно включить в настройках. Если же у вас всё работает, никаких действий производить не нужно.
Версия Bluetooth AVRCP
Настройка поддерживается на смартфонах с Android 8.0 и выше, и отвечает за взаимодействие между двумя устройствами (наушники и телефон).
Скорее всего на вашем смартфоне выставлено значение «AVRCP 1.4» (по умолчанию), но я рекомендую выбрать «AVRCP 1.5», так как в этой версии сохранены все возможности 1.4, но она лучше оптимизирована и на некоторых смартфонах может оказать положительное влияние на скорость отклика на различные команды, по типу: Переключение треков, повышение/уменьшение громкости, вызов голосового ассистента и так далее.
Версия Bluetooth MAP
Аудиокодек для передачи через Bluetooth
Для того чтобы вносить изменения в это меню, вам нужно знать какие кодеки поддерживаются вашими наушниками или колонкой. Самыми распространёнными являются AAC и SBC, а лучшими по качеству передаваемого звука (из доступных) LDAC и Qualcomm aptX HD Audio.
Подчёркиваю, если ваши наушники работают только с SBC, от того что вы выберете тот же LDAC, качество не улучшится, это важно понимать.
Частота дискретизации при передаче через Bluetooth
Чем больше, тем лучше, но чем лучше, тем больше ресурсов на передачу и кодирование расходует смартфон. Как и предыдущий пункт должен поддерживаться не только смартфоном, но и Bluetooth устройством, иначе настройка будет сброшена до стандартного значения (44.1 кГц). Оптимальной принято считать 48.0 кГц.
Последующие пункты настраиваются только если наушники подключённые к смартфону поддерживают LDAC и aptxHD. Но при редактировании помните, что при выборе максимального качества звука, радиус приёма сигнала может сильно сократиться.
С настройками звука закончили, если вам интересно почитать про настройки графики, напишите об этом ниже и в ближайшее время я создам подробную инструкцию.
Многие отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все наушники. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.
Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах.
Я предлагаю всем, кого интересует Bluetooth-аудио, поучаствовать в тестировании совместимости различных наушников, ресиверов, стереосистем, автомобильных головных устройств, с высокими битрейтами.
Если по результатам теста подавляющее большинство устройств будут работать с высокими битрейтами, я сделаю патч для Android и отправлю его в AOSP и сторонние прошивки, и высокое качество Bluetooth-аудио будет доступно всем, на любых наушниках и смартфонах, независимо от поддержки кодеков с лицензионными отчислениями.
Обновление: тест окончен, см. результаты. Файлы для модификации больше не принимаются. Не загружайте библиотеки в тему!
SBC XQ интегрирован в прошивку LineageOS, в сборки LineageOS 15.1 от 31 марта 2019 года и новее, и в LineageOS 16 от 13 мая 2019 года и новее.
- Количество и тип каналов: Joint Stereo, Stereo, Dual Channel, Mono;
- Количество частотных полос: 4 или 8;
- Количество блоков в пакете: 4, 8, 12, 16;
- Алгоритм распределения битов при квантовании: Loudness, SNR;
- Максимальное и минимальное значение пула битов, используемых при квантовании (bitpool): обычно, от 2 до 53.
Например, Dual Channel кодирует каналы раздельно, используя весь bitpool для каждого из каналов. Заставив устройство использовать Dual Channel вместо Joint Stereo, мы получим почти удвоенный битрейт при том же максимальном значении bitpool: 617 кбит/с.
По моему мнению, использование не привязанного к профилю значения bitpool на этапе согласования — недоработка стандарта A2DP, которая и привела к искусственному ограничению качества SBC. Разумней было бы согласовывать bitrate, а не bitpool.
Такие фиксированные значения Bitpool и Bitrate берут свое начало из таблицы с рекомендованными к использованию значениями для высококачественного аудио. Но рекомендация — не повод ограничиваться этими значениями.
Спецификация A2DP v1.2, которая была активна с 2007 по 2015 год, предписывает всем декодирующим устройствам корректно работать с битрейтами до 512 кбит/с:
The decoder of the SNK shall support all possible bitpool values that do not result in excess of the maximum bit rate. This profile limits the available maximum bit rate to 320kb/s for mono, and 512kb/s for two-channel modes.
В новой версии спецификации ограничение по битрейту отсутствует. Предполагается, что современные наушники, выпущенные после 2015 года и поддерживающие EDR, могут поддерживать битрейты до 730 кбит/с.
По какой-то причине, у проверенных мной Bluetooth-стеков Linux (PulseAudio), Android, Blackberry и macOS есть искусственные ограничения максимального значения параметра bitpool, который напрямую влияет на максимальный битрейт. Но это — не самая большая проблема, почти все наушники тоже ограничивают максимальное значение bitpool числом 53.
Как я уже успел убедиться, большинство устройств отлично работает на модифицированном Bluetooth-стеке с битрейтом в 507 кбит/с, без прерываний и треска. Но такой битрейт никогда не будет согласован в обычных условиях, на обычных Bluetooth-стеках.
Тестирование на устройстве с Android
Для тестирования со смартфона или планшета под управлением Android придется модифицировать Bluetooth-стек, для чего необходимы root-права.
Обновление: тест окончен, см. результаты. Файлы для модификации больше не принимаются. Не загружайте библиотеки в тему!
Unrestricted/unlimited-версии согласуют режим Dual Channel и отключают ограничение битрейта (будет использоваться 617-660 кбит/с), версии 482, 486 повышают ограничение битрейта до 482 и 486 кбит/с соответственно (согласуется 474-485 кбит/с).
Если вы разработчик прошивки, и собираете ее из исходных кодов (Android 5-7)Патчсет, увеличивающий Bitpool и добавляющий опцию включения Dual Channel в меню Bluetooth, доступен по следующей ссылке:
LineageOS 14.1 (Android 7.1.2)
Ниже представлена устаревшая информация, оставлена только для истории.
Данные модификации применимы только к оригинальному стеку Android (bluedroid). Для измененного стека от Qualcomm модификации будут отличаться.
Для Android 5-7, нужно модифицировать следующие файлы:
1. Заменить Joint Stereo на Dual Channel в стандартной конфигурации
android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:99
const tA2D_SBC_CIE btif_av_sbc_default_config =
BTIF_AV_SBC_DEFAULT_SAMP_FREQ, /* samp_freq */
A2D_SBC_IE_CH_MD_JOINT, /* ch_mode */
A2D_SBC_IE_BLOCKS_16, /* block_len */
A2D_SBC_IE_SUBBAND_8, /* num_subbands */
A2D_SBC_IE_ALLOC_MD_L, /* alloc_mthd */
BTA_AV_CO_SBC_MAX_BITPOOL, /* max_bitpool */
A2D_SBC_IE_MIN_BITPOOL /* min_bitpool */
>;
Заменить A2D_SBC_IE_CH_MD_JOINT на A2D_SBC_IE_CH_MD_DUAL.
Переместить if с A2D_SBC_IE_CH_MD_DUAL наверх, чтобы он выбирался первым.
3. Убрать или увеличить ограничение битрейта
В Bluetooth-стеке Android установлено ограничение не только на bitpool, но и на битрейт, в 328 кбит/с. Если наушники, например, поддерживают bitpool 53 при 48 кГц, то Android понизит его до 51, чтобы уместиться в ограничение битрейта. Это произойдет уже на этапе отправки кодированного аудио, а не на этапе согласования, не обращайте внимание на значение max bitpool в Bluetooth-пакете SetCapabilities.
android/platform/external/bluetooth/bluedroid/btif/src/btif_media_task.c:172
Заменить на 512.
4. (только для экспериментов) Убрать ограничение MTU.
Необходимо только для битрейтов
Ниже представлена устаревшая информация, оставлена только для истории.
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:55
/* SBC SRC codec capabilities */
static const tA2DP_SBC_CIE a2dp_sbc_caps = A2DP_SBC_IE_SAMP_FREQ_44, /* samp_freq */
(A2DP_SBC_IE_CH_MD_MONO | A2DP_SBC_IE_CH_MD_JOINT), /* ch_mode */
(A2DP_SBC_IE_BLOCKS_16 | A2DP_SBC_IE_BLOCKS_12 | A2DP_SBC_IE_BLOCKS_8 |
A2DP_SBC_IE_BLOCKS_4), /* block_len */
A2DP_SBC_IE_SUBBAND_8, /* num_subbands */
A2DP_SBC_IE_ALLOC_MD_L, /* alloc_method */
A2DP_SBC_IE_MIN_BITPOOL, /* min_bitpool */
A2DP_SBC_MAX_BITPOOL, /* max_bitpool */
BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 /* bits_per_sample */
>;
Добавить A2DP_SBC_IE_CH_MD_DUAL в ch_mode.
2. Заменить Joint Stereo на Dual Channel в стандартной конфигурации
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:82
const tA2DP_SBC_CIE a2dp_sbc_default_config = A2DP_SBC_IE_SAMP_FREQ_44, /* samp_freq */
A2DP_SBC_IE_CH_MD_JOINT, /* ch_mode */
A2DP_SBC_IE_BLOCKS_16, /* block_len */
A2DP_SBC_IE_SUBBAND_8, /* num_subbands */
A2DP_SBC_IE_ALLOC_MD_L, /* alloc_method */
A2DP_SBC_IE_MIN_BITPOOL, /* min_bitpool */
A2DP_SBC_MAX_BITPOOL, /* max_bitpool */
BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 /* bits_per_sample */
>;
Заменить A2DP_SBC_IE_CH_MD_JOINT на A2DP_SBC_IE_CH_MD_DUAL.
static bool select_best_channel_mode(uint8_t ch_mode, tA2DP_SBC_CIE* p_result,btav_a2dp_codec_config_t* p_codec_config) if (ch_mode & A2DP_SBC_IE_CH_MD_JOINT) p_result->ch_mode = A2DP_SBC_IE_CH_MD_JOINT;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
>
if (ch_mode & A2DP_SBC_IE_CH_MD_STEREO) p_result->ch_mode = A2DP_SBC_IE_CH_MD_STEREO;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
>
if (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) p_result->ch_mode = A2DP_SBC_IE_CH_MD_DUAL;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
>
if (ch_mode & A2DP_SBC_IE_CH_MD_MONO) p_result->ch_mode = A2DP_SBC_IE_CH_MD_MONO;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO;
return true;
>
return false;
>
Переместить if с A2DP_SBC_IE_CH_MD_DUAL наверх.
Заменить на 512.
5. (только для экспериментов) Убрать ограничение MTU
Необходимо только для битрейтов от 580 кбит/с и выше.
/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:47
1. Скачайте и установите IDA Pro, откройте bluetooth.default.so, дождитесь окончания анализа файла (внизу слева должно быть AU: Idle).
Будем искать код из файла Ищем код из файла android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:411.
Значения констант следующие:
A2D_SBC_IE_SAMP_FREQ_44 = 0x20
A2D_SBC_IE_CH_MD_JOINT = 0x01
A2D_SBC_IE_CH_MD_STEREO = 0x02
A2D_SBC_IE_CH_MD_DUAL = 0x04
A2D_SBC_IE_CH_MD_MONO = 0x08
Файл android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:99.
10. Нужно заменить A2D_SBC_IE_CH_MD_JOINT на A2D_SBC_IE_CH_MD_DUAL. Можно обойтись только HEX-редактором. Ищем "10 01 10 04 01 35 02" (Если стек собран со стандартной частотой 44.1 кГц) или "20 01 10 04 01 35 02" (48 кГц), должно быть одно совпадение. Заменяем второй байт на 0x04: "10 04 10 04 01 35 02".
- 1MORE iBFree
- JBL Everest 310
- JBL Everest 700
- JBL E55BT
(Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.) - Skullcandy HESH 3
- SoundPEATS Q30
- Sony WH-H900N
- Sony MDR-1ABT
- Sony MDR-ZX770BT
- Sony MDR-XB650BT
- Sony MDR-XB950B1
- Sony SBH50
- Bluedio A/Air (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.)
- Bluedio T4s (Bitpool max 39. Сообщают, что не поддерживают Dual Channel, но работают, при 462 кбит/с. Не соответствуют спецификации A2DP.)
- Bluedio T5 (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.)
- Bluedio T6 (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP. Чип Adopt Max 97220.)
- Marshall Major II Bluetooth
- Overdrive RealForce D1
- DEXP BT-210
- DEXP BT-220
- DEXP BT-260
- DEXP BT-280
- Edifier W288BT
- Xiaomi MI Portable Bluetooth Speaker
- Xiaomi Square Box Bluetooth Speaker 2
- Sennheiser HD 4.40BT
- AKG K845BT
- Beyerdynamic Amiron Wireless
- Bowers & Wilkins PX
- Bowers & Wilkins Zeppelin Wireless
- House of Marley Liberate XLBT
- Harman Kardon Onyx Studio 4
- Harman Kardon Aura Studio 2
- QCY QY8
- Hagibis X2
- Sony DSX-A400BT (автомобильное головное устройство)
- Автомобильное головное устройство на чипе CSR8645 (noname)
- Автомобильный DAC Lusya bluetooth 4.0 with AK4490, NE5532
- JBL Everest 310 (617-660 кбит/с)
(576 кбит/с)
(573 кбит/с) - SoundPEATS Q30
- DEXP BT-210 (617 кбит/с)
- DEXP BT-220 (617 кбит/с)
- DEXP BT-260 (617 кбит/с)
- DEXP BT-280 (617 кбит/с)
(576 кбит/с) - Sony MDR-ZX770BT (617-660 кбит/с)
- Marshall Major II Bluetooth (617-660 кбит/с)
- Overdrive RealForce D1 (730 кбит/с, dual channel, 4 subbands)
- Jaybird X3
- QCY QY8 (617 кбит/с)
- Edifier W288BT (617 кбит/с)
(596 кбит/с)
(617 кбит/с)
(617 кбит/с)
(576 кбит/с)
(617 кбит/с) - Автомобильный DAC Lusya bluetooth 4.0 with AK4490, NE5532 (576 кбит/с)
- Harper HB-202 (треск; чип Beken BK3256)
(высокочастотные искажения, треск; гарнитура 2009 года)
(не успевают обрабатывать пакеты)
(нет звука) - Overfly mini Bluetooth receiver (нет звука)
Зачем это нужно: SBC 328k и SBC 485k против aptX
Вопреки расхожему мнению о качестве звука кодека aptX, на некоторых файлах он может давать результаты хуже, чем SBC со стандартным битрейтом в 328 кбит/с.
SBC динамически выделяет биты квантования для частотных полос, действуя по принципу «от нижних к верхним». Если весь битрейт использовался на нижние и средние частоты, верхние частоты «обрежутся» (вместо них будет тишина).
aptX квантует частотные полосы одним и тем же количеством бит постоянно, из-за чего у него постоянный битрейт: 352 кбит/с для 44.1 кГц, 384 кбит/с для 48 кГц, и он не может «перенести биты» на те частоты, которые больше всего в них нуждаются. В отличие от SBC, aptX не будет «обрезать» частоты, а будет добавлять в них шумы квантования, уменьшая динамический диапазон аудио, и иногда привносить характерные потрескивания. SBC же «съедает детали» — отбрасывает наиболее тихие участки.
В среднем, по сравнению с SBC 328k, aptX вносит меньше искажений в музыку с широким частотным диапазоном, но на музыке с узким диапазоном частот и широким динамическим диапазоном SBC 328k иногда выигрывает.
Думаю это проблема не только СЕАТа с RCD-510 и даже не только VAGомобилей с данной моделью магнитол, но и в целом немалого количества автовладельцев, чьи железные кони оснащены системами хэндсфри через bluetooth.
А проблема заключается в следующем. Подключив телефон к автомобильной хэндсфри, особо "умный" стандарт A2DP (которым сейчас оснащают, наверное, все смартфоны) начинает передавать звуки, издаваемые телефоном, не в собственный динамик, а в аудиосистему автомобиля. Но! Если в магнитоле при этом не активирован режим Bluetooth-audio, а включено, например, радио или воспроизведение с CD/SD источников, то звуки эти теряются где-то в радиоэфире и в акустику не попадают. На входящий телефонный вызов же магнитола уже реагирует, глушит звучащий источник и начинает выводить звук с телефона в акустику авто.
Казалось бы это пустяк, но только не для тех пользователей, кто в качестве навигатора использует свои телефоны. Ведь аудио-подсказки по маршруту также, как и остальные звуки, нигде не звучат.
Решений проблемы видится несколько:
1. использование навигационного софта, который в своих настройках позволяет выбрать куда выводить звук.
2. использование телефона, который позволяет отключить использование A2DP.
3. использование стороннего софта, который будет прибивать A2DP.
4. отключение поддержки A2DP в самой автомагнитоле.
5. использование для навигации отдельного устройства.
6. неиспользование штатной хэндсфри.
К первому варианту мне не хотелось бы прибегать, т.к., насколько я успел разобраться, сейчас это умеют делать только последние версии СитиГайда, а я уже использую другое ПО, хотя возможно, что придется к нему вернуться.
Функционал для использования второго способа в моем телефоне не предусмотрен. Менять пока не намерен, да и есть ли в продаже модели с такими возможностями?
Третий пункт кажется вполне реальным, но пока не нашел в Google Play чего-то, что работало бы без побочных эффектов или же недоработок.
Пункт 4 кажется самым правильным и простым решением, но в своей RCD 510 я такой возможности найти не смог.
Варианты 5 и 6 тоже не оптимальны. Отдельный навигатор, кроме дополнительных материальных затрат, добавляет различные неудобства. А забыть/забить о штатной хэндсфри тоже никак не хочется — я и так-то не любитель говорить по телефону за рулем (разве что в пробках, когда двигаешь на несколько метров раз в пару минут), а уж говорить по телефону держа его у уха — это вообще моветон. Ибо и штраф с 1 сентября теперь за это подрос до 1500 рублей, и небезопасно — реально снижается внимание к дорожной ситуации. Ну а наушник/гарнитура — имеют те же недостатки, что и отдельный навигатор.
Подытоживая, могу сказать, что ищу возможности решения вопроса способами 4, 3, 1, 2 (в порядке убывания предпочтения) и с радостью выслушаю рекомендации/советы по ним.
Стандарт беспроводной передачи данных между устройствами Bluetooth, несмотря на небольшой радиус действия, пользуется популярностью по всему миру и активно применяется для решения многих задач. Удобство использования интерфейса Bluetooth в смартфонах, компьютерах и прочих цифровых устройствах обеспечило динамичное развитие и продвижение технологии. Многие производители телефонов даже лишают свои девайсы 3,5-миллиметрового разъёма под наушники, приучая пользователей прослушиванию аудио без проводов. Современные смартфоны поддерживают стандарт A2DP Bluetooth, который даёт возможность использования беспроводных наушников или колонок.
Как использовать A2DP профиль в телефоне.
Что такое профиль A2DP
Функционал телефонов с каждым годом расширяется, в результате чего мобильное устройство кроме основной своей задачи давно уже способно выполнять множество других. Обнаружив в смартфоне профиль A2DP, некоторые пользователи задаются вопросом, что это такое. Именно эту тему мы и раскроем. Профиль Bluetooth A2DP (Advanced Audio Distribution Profile) является расширенным протоколом беспроводного распространения аудио между устройствами. Передача стереозвука осуществляется по каналу Bluetooth в режиме реального времени. Устройства, поддерживающие A2DP, можно разделить на два типа:
- Передатчик, в качестве которого может выступать смартфон, планшет, приставка Smart-TV, КПК или другой девайс. В данном случае задача устройства заключается в передаче аудио.
- Приёмник (наушники, портативная колонка, автомагнитола и пр.), то есть устройство, принимающее аудио сигнал.
Реализация технологии позволяет передавать по беспроводной связи Bluetooth высококачественные аудиофайлы различных форматов. Передача двухканального сигнала аудио по Bluetooth в исходном варианте без сжатия невозможна ввиду ограничений пропускной способности данной спецификации беспроводных персональных сетей, поэтому цифровой поток обрабатывается перед отправкой на принимающее устройство. В A2DP профиле для сжатия используются различные кодеки, сжимающие контент аудио до размеров канала Bluetooth, качество звука при этом остаётся на высоком уровне, что обусловлено применяемыми алгоритмами. Сжатие в случае с A2DP выполняется с минимальными потерями качества, что означает получение приёмником стереозвука с качественным битрейтом.
Особенности функционирования
Задействование соединения Bluetooth обеспечивается профилями, которые поддерживает устройство, их наличием и определяются функциональные возможности, а также спектр оборудования, с коим возможно взаимодействие. Нередко в связке с A2DP поддерживается и профиль AVRCP, обеспечивающий устройству управление функционалом телевизора, системы домашнего кинотеатра, автомагнитолы и т. д., то есть выполнение функций пульта дистанционного управления. Просто обеспечить связь по каналу недостаточно, для выполнения необходимых задач и источник сигнала, и приёмник должны обладать поддержкой одних и тех же профилей. Их реализация зависит от конструктивных особенностей аппаратного обеспечения, специфики, а также политики производителя.
Поддержка профиля A2DP предполагает передачу стереофонического потока аудио от источника сигнала к беспроводной гарнитуре или прочим устройствам воспроизведения звука и, как было сказано выше, небольшие потери качества при этом неизбежны из-за особенностей технологии Bluetooth. Чаще всего сжатие передаваемого потока осуществляется с применением стандартного кодека SBC или другого, например, MP3, AAC и пр. Так, взаимодействующие устройства согласуют кодек, которым будет обрабатываться сигнал (оба должны поддерживать один и тот же) и параметры кодирования (битрейт, частота дискретизации). Отметим, что в случае использования SBC качество звука будет ниже, чем при кодировании с помощью MP3 со стандартными настройками.
Технология обеспечивает передачу данных в пределах около 10 метров, на более дальнем расстоянии сигнал будет прерываться, возникнут помехи. При этом следует учитывать и наличие препятствий в виде стен, перегородок и пр., так что для стабильности соединения взаимодействующие устройства должны находиться поближе друг к другу. На сегодняшний день технология A2DP значительно уступает по качеству передаваемого аудио более современным, усовершенствованным стандартам AptX и AptX HD, обеспечивающим передачу звука почти без потерь.
Где используется
Технология широко используется и профиль A2DP можно встретить в самых разных устройствах, таких как смартфоны, планшеты, КПК, ноутбуки, колонки, гарнитуры, беспроводные наушники, акустические системы, Smart TV и прочие девайсы с поддержкой Bluetooth. Вы сможете подключить телефон к магнитоле или любым другому цифровому оборудования при наличии A2DP среди их характеристик, а также управлять воспроизведением. Стандарт поддерживает операционные системы Windows, Linux, Mac OS X и мобильные ОС Android, iOS, Windows Phone, BlackBerry. Возможность передачи аудио требует синхронизации устройств, для чего нужно включить A2DP Bluetooth на девайсе и выбрать приёмник, как это осуществить рассмотрим ниже на примере Android. Совместимость оборудования с технологией A2DP позволяет соединять девайсы независимо от их модели и производителя, что очень удобно.
Как правильно подключить
Для применения стандарта связи A2DP необходимо активировать соответствующую функцию в настройках поддерживающего девайса. Например, на смартфонах под управлением Android потребуется включить Bluetooth. Сделать это можно, обратившись к настройкам (опция доступна в блоке «Беспроводные сети») или из шторки уведомлений, открывающейся с рабочего стола, что будет ещё быстрее. Если профиль A2DP поддерживается смартфоном, то будет активирован, при этом в настройке он не нуждается. Далее потребуется включить наушники, которые должны быть заряжены.
Смартфон обнаружит устройство и его необходимо выбрать из списка доступных для соединения по Bluetooth устройств, за этими действиями последует синхронизация. Чтобы пользоваться благами современных технологий передачи аудио A2DP Bluetooth, пользователю не нужно ничего дополнительно настраивать, функция доступна сразу же после активации при условии поддержки стандарта связи обоими устройствами.
Читайте также: