Телефон на Android в качестве беспроводной звуковой карты ноутбука

Однажды у меня возникла необходимость подключить большие колонки к ноутбуку, но так, чтобы не быть привязанным к ним кабелем. Протестировав несколько приложений для трансляции звука по Wi-Fi, я сделал вывод, что самым гибким из такого рода программ является SoundWire, позволяющее добиться задержки звука не более 100 миллисекунд (при условиях, что телефон довольно мощный, с версией Android 4.2+ и поддерживает режим native audio). А это означает, что уже можно смотреть фильмы без заметного отставания звука.

Примечание: конечно же, в первую очередь, все зависит от мощности и аппаратных возможностей Вашего Android-телефона. Протестировав данное приложение на разных устройствах я сделал вывод, что на старом Android-телефоне (Процессор: 1 ядро, 600 МГц; Память: 256 Мб; Режим аудио: standard_audio) не удается сделать задержку звука меньше 100 миллисекунд и при просмотре фильма чувствуется явное отставание звука.

Приложение обладает достаточно большим набором настроек под любой тип Wi-Fi сети (в плане скорости соединения). В Google Play Маркете есть платная и бесплатная версии. В платной версии доступна возможность установки размера буфера в миллисекундах (в бесплатной только в килобайтах), функция сжатия звука и функция стабилизации размера буфера, позволяющие максимально снизить нагрузку на беспроводную сеть и добиться минимальной задержки звука.

Настройка SoundWire Server в Windows

Скачайте программу SoundWire Server, соответствующую вашей версии Windows и установите её на компьютер.

Убедитесь, что она нормально работает, запустив какую-нибудь музыку в плеере или браузере. В окне программы, в поле "Level", должен отображаться индикатор звука. Если он подымается до уровня красного цвета (искажение звука), отрегулируйте ползунком "Audio Output" уровень звука так, чтобы цвет был только зеленым.

SoundWire Server

В зависимости от версии Windows ползунок регулятора громкости будет регулировать или уровень звука динамиков ноутбука, или трансляции по Wi-Fi. У меня Windows 8.1, и в моем случае реализован первый вариант, поэтому, чтобы звук от самого ноутбука не мешал, я его просто отключил.

Отключение звука в Windows

Совет: на время тестирования приложения с разными настройками, звук компьютера лучше оставить включенным, тогда Вы будете слышать реальную задержку между воспроизведением звука на компьютере и по сети, через телефон на Android.

Настройка SoundWire на Android

Установите с GooglePlay Маркета приложение SoundWire.

SoundWire (free)
Developer: GeorgieLabs
Price: Free

Убедитесь, что Ваш телефон на Android и ноутбук находятся в одной сети Wi-Fi. Откройте приложение SoundWire и нажмите на кнопку с изображением спирали.

SoundWire подключение

После небольшого ожидания спираль должна изменить цвет на золотистый, и Вы должны услышать звук на вашем Android-телефоне. Если этого не произойдет, попробуйте вручную прописать в приложении на Android IP-адрес, который показывает программа SoundWire Server в Windows и снова нажмите на кнопку со спиралью.

Подключение по IP SoundWire Server

Если и в этот раз Вы ничего не услышите, тогда откройте в Windows через кнопку "Пуск" приложение "Командная строка", наберите команду "ipconfig" и нажмите клавишу "Enter". Введите в поле адреса в приложении SoundWire на Android IP-адрес, указанный в строке "IPv4-адрес" командной строки и снова нажмите на кнопку со спиралью.

Подключение по IP сетевой карты беспроводного соединения

Уменьшение задержки звука

Для уменьшения задержки звука в приложении SoundWire предусмотрен целый набор инструментов.

Бесплатная версия:

  • Настройка буферизации (Audio buffer size);
  • Сжатие звукового потока, только демо на несколько минут (Audio compression);
  • Включение альтернативного звукового тракта (Android native audio).

Платная версия:

  • Настройка буферизации в миллисекундах (Audio buffer size);
  • Сжатие звукового потока (Audio compression);
  • Включение альтернативного звукового тракта (Android native audio);
  • Уменьшение "плавания" размера буфера (Latency steering amount).

А теперь более подробно о каждой опции.

Audio buffer size

Первое, что можно сделать, чтобы уменьшить задержку звука, это уменьшить размер буфера входящего звукового потока. Для этого нажмите кнопку меню, затем выберите опцию "Settings", в открывшихся настройках нажмите на пункт "Audio buffer size" и выберите желаемый размер буфера.

Установка размера буфера

Чем он меньше, тем меньше будет задержка, но очень маленький размер буфера может привести к эффекту дискретного "роботизированного звука". Размер буфера в бесплатной версии выставляется в килобайтах, в платной версии в миллисекундах. Кроме того, в платной версии реальная задержка звука в миллисекундах отображается на главной странице приложения.

Отображение задержки звука в приложении SoundWire

Audio compression (платная версия)

Как показывает опыт, очень важная функция, так как позволяет не только уменьшить задержку, но и экономно использовать канал связи, чтобы, например, видео не подвисало во время просмотра онлайн. Приложение умеет сжимать транслируемый звуковой поток с помощью кодека Opus. В бесплатной версии пробный период использования этой опции составляет 10 минут. Чтобы включить сжатие звукового потока, поставьте в настройках галочку рядом с опцией "Audio compression", нажмите на опцию "Compression bitrate" и выберите битрейт сжимаемого аудиопотока. Чем он меньше, тем меньше трафика будет тратиться на передачу звука и, как следствие, уменьшится задержка и обрывы при передаче звука, но пострадает качество, поэтому экспериментируйте.

Сжатие звука кодеком Opus

Как видно из рисунка выше, в моем случае при битрейте 64 кБит/с (как мне кажется, самом оптимальном) скоростьWi-Fi соединения, затрачиваемая на передачу звука, уменьшилась от ~167 до ~18 кБайт/с, то есть примерно в 10 раз!

Android native audio

Внимание: Эта опция поддерживается не всеми устройствами!

При включении опции "Android native audio" выбирается альтернативный внутренний звуковой тракт (OpenSL ES native audio), который может работать лучше и позволяет получить более низкие времена задержки звука на некоторых устройствах, поддерживающих "Android native audio". Опция "Android native audio" имеет три переключателя:

  • Auto – используется native audio с малыми размерами буфера (32 кБ / 190 мс или меньше), а также standard audio с более крупными размерами буфера. Рекомендуется для устройств, которые поддерживают низкую задержку звука (Android 4.2+).
  • Standard audio – рекомендуется для устройств, которые не поддерживают низкую задержку звука. Стандартный звуковой тракт является более надежным, на большинстве устройств Android.
  • Android native audio – выберите, если альтернативный внутренний звуковой тракт работает лучше на устройстве даже при больших размерах буфера, например, если при использовании Auto или Standard audio есть проблемы.

Включение native audio

На некоторых современных телефонах для корректной работы функции "Android native audio" необходимо транслировать звук с частотой дискретизации не 44.1 кГц, а 48 кГц. Требуемая частота дискретизации будет отображаться при нажатии на опцию "Android native audio". Если нужно, перенастройте SoundWire Server и Windows на использование частоты дискретизации 48 кГц (см. документацию).

Latency steering amount (платная версия)

Опция "Latency steering amount" позволяет контролировать, насколько агрессивно SoundWire будет пытаться достичь установленной задержки звука (примерно размер буфера, деленный на 2). Опция имеет три режима: Normal (нормальный), Tight (сжатый), Very Tight (сильно сжатый).

Опция latency steering

Обратите внимание, что фактическая задержка звука будет выше, чем отображаемая на панели, так как многие другие факторы способствуют задержке, такие как внутренний аудиотракт телефона на Android и буферизация на стороне сервера. Поэтому для оценки реальной задержки используйте Ваши уши, а не отображаемые цифры на экране телефона.

Опубликовано в Android

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Представьтесь, пожалуйста! Авторизуйтесь через:

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Facebook

ВКонтакте

Twitter

Google+