Как запустить PulseAudio?

Я хотел бы использовать мой малиновый Pi в качестве приемника PulseAudio, который может воспроизводить аудио через сеть.

Для начала я хочу, чтобы Pulseaudio работал локально и сталкивался с различными ошибками. Я использую рекомендуемое изображение Debian.

Какова наилучшая процедура для запуска PulseAudio?


Это то, что я пробовал до сих пор:

Процедура

Моя процедура до сих пор выглядела примерно так:

Установите Pulseaudio и VLC:

sudo apt-get install pulseaudio

Настройте GStreamer для использования приемника pulseaudio:

gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink

Загрузите модуль ядра для аудиоустройства

sudo modprobe snd_bcm2835

Запустите VLC с mp3

vlc 

Проблемы

VLC несколько раз трескается, печатая эту ошибку:

[0x7503d0] alsa audio output error: cannot write: Broken pipe
24 голоса | спросил Bengt 24 J0000006Europe/Moscow 2012, 03:05:47

3 ответа


8

У меня есть работа над моей малиной Pi, использующей раковину ALSA, с процедурой, описанной ниже:

Чтобы установить необходимые файлы:

sudo apt-get install pulseaudio pulseaudio-module-zeroconf alsa-utils avahi-daemon

Чтобы включить ALSA:

sudo modprobe snd-bcm2835                      # load module for single boot
echo "snd-bcm2835" | sudo tee -a /etc/modules  # load module for persistance

Чтобы настроить сеть:

sudo nano /etc/pulse/default.pa

и раскомментируйте строки:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-zeroconf-publish

Чтобы запустить сервер pulseaudio, используйте:

pulseaudio -D

Вы должны проверить, что он работает, играя wav-файл с помощью paplay (sudo apt-get install pulseaudio-utils), а также по сети, выбрав приемник в звуке вашей системы панели управления.

Возможно, вы также сможете настроить общесистемный режим с:

sudo pulseaudio --system 
ответил Adam M-W 11 AM000000110000000731 2012, 11:59:07
5

Мне было трудно получить pulseaudio, работающий на Wheezy raspbian (2012-10-28), используя аналоговый выход. Следующее - это то, что я сделал, чтобы заставить его работать в режиме сеанса (не в системном режиме). Системный режим также может работать, я его не пытался. Для настройки сервера потребуется еще немного работы. Я нашел эту информацию в разных местах, надеюсь, ее собрать здесь поможет кому-то.

Установите pulseaudio и убедитесь, что пользователь (например, eric) является частью группы аудио:

sudo apt-get install pulseaudio pulseaudio-utils
sudo adduser eric audio

Измените /etc/asound.conf, как показано ниже. Это устанавливает pulseaudio для использования в качестве устройства alsa по умолчанию, поэтому приложения используют его без какой-либо дополнительной настройки. Первые два объявления (включая комментарий) были в исходном файле.

pcm.mmap0 {
    type mmap_emul;
    slave {
      pcm "hw:0,0";
    }
}

#pcm.!default {
#  type plug;
#  slave {
#    pcm mmap0;
#  }
#}

pcm.pulse { type pulse }
ctl.pulse { type pulse }
pcm.!default { type pulse }
ctl.!default { type pulse }

Добавьте следующие строки в /etc/pulse/daemon.conf:

default-sample-rate = 48000
resample-method = trivial

trivial - метод самого низкого качества, но использует около 6% процессора. src-sinc-fastest также работал для меня, но использовал около 25% процессора. Другие могут работать. Этот более поздний бит я не совсем понимаю необходимость, но это, казалось, волшебный ингредиент. Вы можете узнать больше о это здесь .

Наконец, чтобы отключить звуковые всплески между воспроизведением песен, закомментируйте эту строку в /etc/pulse/default.pa следующим образом:

#load-module module-suspend-on-idle

Есть все еще некоторые отсева, когда сразу два источника играют, если я найду средство для этого, я добавлю к этому ответу.

ответил ergosys 17 MonEurope/Moscow2012-12-17T12:33:52+04:00Europe/Moscow12bEurope/MoscowMon, 17 Dec 2012 12:33:52 +0400 2012, 12:33:52
4

Если вы хотите, чтобы pulseaudio запускался при загрузке, но как сервис уровня пользователя, вы можете сделать файл unitd. Это может помочь, поскольку pulseaudio не предпочитает работать в системном режиме. https://www.freedesktop.org/wiki/Software/PulseAudio/Документация /Пользователь /общесистемного /

Вот сервис, который я написал в /etc/systemd/system/pulseaudio.service

[Unit]
Description=PulseAudio Sound System
Before=sound.target

[Service]
User=pi
BusName=org.pulseaudio.Server
ExecStart=/usr/bin/pulseaudio
Restart=always  

[Install]
WantedBy=session.target

Before = говорит ему ждать, пока звук не начнет инициализировать sound.target. BusName = подключается к D-Bus WantedBy = session.target является полезным дефолтом, но я действительно не знаю, что он делает.

ответил semitones 27 MaramSun, 27 Mar 2016 08:17:10 +03002016-03-27T08:17:10+03:0008 2016, 08:17:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132