PulseAudio कैसे चलाएं?


28

मैं अपने रास्पबेरी पाई को पल्सअडियो सिंक के रूप में उपयोग करना चाहूंगा जो नेटवर्क के माध्यम से ऑडियो चला सकते हैं।

शुरुआत के लिए मैं पल्सेडियो को स्थानीय रूप से चलाना चाहता हूं और विभिन्न त्रुटियों में चला गया हूं। मैं अनुशंसित डेबियन छवि का उपयोग कर रहा हूं।

PulseAudio उठने और चलने के लिए सबसे अच्छी प्रक्रिया क्या है?


यही मैंने अब तक कोशिश की है:

प्रक्रिया

अब तक की मेरी प्रक्रिया निम्न प्रकार से दिखती है:

Pulseaudio, और VLC स्थापित करें:

sudo apt-get install pulseaudio

Pulseaudio सिंक का उपयोग करने के लिए GStreamer कॉन्फ़िगर करें:

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

ऑडियो डिवाइस के लिए कर्नेल मॉड्यूल लोड करें

sudo modprobe snd_bcm2835

एक एमपी 3 के साथ VLC चलाएं

vlc 

समस्या का

VLC बार-बार दरार, इस त्रुटि को मुद्रित:

[0x7503d0] alsa audio output error: cannot write: Broken pipe

क्या आप उन त्रुटियों को दिखा सकते हैं जिन्हें आप प्राप्त कर रहे हैं?
darryn.ten

जवाबों:


9

मैं इसे अपने रास्पबेरी पाई पर काम कर रहा हूँ 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

आपको यह परीक्षण करने में सक्षम होना चाहिए कि यह sudo apt-get install pulseaudio-utilsआपके सिस्टम के साउंड कंट्रोल पैनल में सिंक का चयन करके पैवेल्ले ( ) के साथ एक wav फाइल चलाकर और नेटवर्क पर भी काम करता है ।

आप सिस्टम-वाइड मोड में भी स्थापित करने में सक्षम हो सकते हैं :

sudo pulseaudio --system 

pulseaudio-module-zeroconfapt-get install भाग में गायब है। शायद pulseaudio --log-level=debugकिसी समस्या का निवारण करने के लिए भी उल्लेख करना चाहिए । साउंड सोर्स (रास्पबेरी पाई नहीं) पर, आपको paprefsआसानी से अपने पल्सेडियो (यदि आपके पास 1111 है) अवलोकन करने के लिए लॉन्च करना चाहिए । और pulseaudioसंदेह होने पर पुनः आरंभ करना न भूलें ।
vabab

7

यदि आप बूट पर pulseaudio शुरू करना चाहते हैं, लेकिन उपयोगकर्ता-स्तरीय सेवा के रूप में, आप एक सिस्टम यूनिट फ़ाइल बना सकते हैं। यह मदद कर सकता है, क्योंकि pulseaudio सिस्टम मोड में चलना पसंद नहीं करता है। https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/

यहाँ मैं /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

इससे पहले = यह बताता है कि साउंड के बाद तक इंतजार करना चाहिए। BusName = इसे D-Bus WantedBy से जोड़ता है। session.target एक सहायक डिफ़ॉल्ट है, लेकिन मैं वास्तव में नहीं जानता कि यह क्या करता है।


जाहिरा तौर पर हम इसे रूट विशेषाधिकारों से बचने के ~/.config/systemd/user/pulseaudio.serviceलिए --userध्वज के साथ सिस्टमड में उपयोग कर सकते हैं ।
दोपहर

6

मुझे एनालॉग आउटपुट का उपयोग करके व्हीज़ैपी रस्पियन (2012-10-28) पर चलने में एक कठिन समय मिल रहा था। निम्नलिखित वही है जो मैंने इसे प्रति-सत्र मोड (सिस्टम मोड नहीं) में काम करने के लिए किया था। सिस्टम मोड भी काम कर सकता है, मैंने इसका प्रयास नहीं किया है। सर्वर सेट करने के लिए कुछ और काम करने होंगे। मुझे यह जानकारी विभिन्न स्थानों पर मिली, उम्मीद है कि इसे यहां इकट्ठा करने से किसी को मदद मिलेगी।

Pulseaudio स्थापित करें और सुनिश्चित करें कि उपयोगकर्ता (जैसे कि इरिक) ऑडियो समूह का हिस्सा है:

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

बदलें /etc/asound.conf निम्नलिखित की तरह दिखते हैं। यह डिफ़ॉल्ट रूप से एल्सा डिवाइस के रूप में उपयोग किए जाने के लिए pulseaudio सेट करता है, इसलिए एप्लिकेशन इसे बिना किसी अतिरिक्त कॉन्फ़िगरेशन के उपयोग करते हैं। मूल फ़ाइल में पहले दो घोषणाएँ (एक टिप्पणी सहित) थी।

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% CPU का उपयोग करें। दूसरे भी काम कर सकते हैं। यह बाद में बिट मैं काफी की जरूरत नहीं समझते हैं, लेकिन यह जादू की सामग्री लग रहा था। आप इसके बारे में और अधिक यहाँ पढ़ सकते हैं

अंत में, गीतों के बीच ऑडियो पॉप को शांत करने के लिए, /etc/pulse/default.pa में इस पंक्ति पर टिप्पणी करें:

#load-module module-suspend-on-idle

अभी भी कुछ ड्रॉपआउट्स हैं जब दो स्रोत एक साथ खेलते हैं, अगर मुझे इसके लिए एक उपाय का पता चलता है तो मैं इस उत्तर को जोड़ूंगा।


नेटवर्क पर ऑडियो चलाते समय, PulseAudio trivialमेरे लिए 16% CPU का उपयोग कर रहा था ।
नाथन उस्मान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.