Установите динамик ПК/ноутбука Ubuntu в качестве аудиоплеера AirPlay
В этом руководстве показано, как настроить Ubuntu Linux в качестве приемника AirPlay, чтобы динамик вашего ПК мог воспроизводить потоковое аудио с iPhone, iTunes, устройств iOS и сторонних источников AirPlay.
Для Linux есть популярное бесплатное приложение с открытым исходным кодом под названием Shairport Sync. Это аудиоплеер AirPlay и AirPlay 2, созданный на основе оригинального Shairport (снят с производства).
Shairport Sync предлагает полную синхронизацию звука. Это означает, что звук воспроизводится на устройстве вывода точно в то время, которое указано источником звука.
ПРИМЕЧАНИЕ 1. Shairport Sync не поддерживает потоковую передачу видео и фотографий через AirPlay.
ПРИМЕЧАНИЕ 2. Это руководство тестировалось только в Ubuntu 24.04. Однако он должен работать во всех текущих выпусках Ubuntu.
Шаг 1. Узнайте имя вашего аудиоустройства/динамика
Прежде чем приступить к работе, вам необходимо узнать имя устройства звуковой карты и динамика на вашем компьютере с Linux.
1. Сначала нажмите Ctrl+Alt+T
, чтобы открыть окно терминала. Когда он откроется, выполните команду:
aplay -l
Если команда не найдена, запустите sudo apt install alsa-utils
для установки. И команда выведет список всех звуковых карт и цифровых аудиоустройств.
В моем случае (см. скриншот ниже) на моем ноутбуке установлена только одна звуковая карта HDA Intel PCH, но с 2 динамиками, включая встроенный динамик ALC257 Analog и внешний монитор. динамик через кабель HDMI F24G3.
2. Затем запустите команду для получения списка всех PCM и найдите имена устройств вывода в соответствии с именами динамиков, которые вы получили на последнем шаге.
aplay -L
Поскольку вывод слишком длинный, вы можете вместо этого запустить команду ниже, чтобы отфильтровать имя говорящего:
aplay -L |grep F24G3 -B 1 -A 1
Здесь :
grep F24G3
— указать печатать строки, соответствующие ключу F24G3. Замените его на свой согласно первому выводу команды.-B 1
— вывести 1 строку начального контекста перед совпадающими строками.-A 1
— вывести 1 строку конечного контекста после совпадающих строк.
Как показано на снимке экрана выше, я могу использовать hw:CARD=PCH,DEV=3 для прямого доступа к динамику HDMI F24G3 или hw:CARD=PCH,DEV=0 > (или сокращенно hw:0) для прямого аппаратного доступа к встроенному динамику.
Все остальные (с подчеркиваниями на скриншотах) тоже работают в моих тестах, но либо для программных преобразований, либо для смешивания сэмплов, либо для других целей.
Шаг 2. Установите и настройте Shairport Sync.
Пакет программного обеспечения доступен в системных репозиториях всех текущих выпусков Ubuntu, включая Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04 и Ubuntu 24.10.
Чтобы установить его, просто откройте терминал (Ctrl+Alt+T) и выполните команду:
sudo apt install shairport-sync
Затем отредактируйте его файл конфигурации, выполнив команду:
sudo gnome-text-editor /etc/shairport-sync.conf
Замените gnome-text-editor
на gedit
для версии 22.04 и более ранних, mousepad
для XUbuntu XFCE или nano
, который работает. на большинстве настольных компьютеров.
Когда файл откроется, прокрутите вниз и найдите раздел alsa =. Затем выполните:
- Удалите // в начале строки «output_device», чтобы включить его.
- Установите значение «output_device» в соответствии с шагом 1. В моем случае я могу использовать hw:CARD=PCH,DEV=3 для динамика HDMI или hw:CARD=PCH,DEV=0. для встроенного динамика.
- (Необязательно) По выбору вы можете включить и настроить дополнительные правила, например
mixer_device
,output_rate
.
После завершения редактирования сохраните файл. Для nano нажмите Ctrl+S для сохранения и Ctrl+X для выхода.
Шаг 3. Включите и перезапустите службу Shairport Sync, чтобы применить ее.
Для программного обеспечения требуется запуск демона avahi. Сначала запустите команду, чтобы убедиться, что служба находится в активном рабочем состоянии.
systemctl status avahi-daemon.service
Если он не запущен, запустите systemctl start avahi-daemon.service
, чтобы запустить его.
И перезапустите службу Shairport Sync, чтобы применить изменения:
sudo systemctl restart shairport-sync.service
Для Debian и других Linux служба НЕ может быть включена по умолчанию после установки пакета программного обеспечения. В этом случае запустите sudo systemctl Enable --now shairport-sync.service
, чтобы включить и запустить его.
Наконец, на вашем устройстве iOS включите музыку и выберите трансляцию на динамик через AirPlay.
ПРИМЕЧАНИЕ. Для указанного источника AirPlay будет задержка около 2 или 2,5 секунд. И в моем случае звук очень тихий. Попробуйте нажать кнопки громкости на устройстве iOS, чтобы увеличить или уменьшить звук, если вы ничего не слышите.