web-dev-qa-db-ja.com

ライブラリがないためにミキサーを接続しないPulseaudioを解決するにはどうすればよいですか?

私はpulseaudioをインストールしようとしていますが、ALSAをどうするかについての正解が見つからないようです。 PulseAudioはALSA上で動作しますか?最初にALSAを取り除く必要がありますか? ALSAはサウンドサーバーですよね? PulseAudioもそうです...お分かりのように、私は少し混乱しています。とにかく今私は両方を持っているようです-どちらも機能していないようです:-\

/etc/asound.confに含まれるもの:

pcm.Pulse {
    type Pulse
}

ctl.Pulse {
    type Pulse
}

pulseaudioは確かに実行されています。ただし、「amixer -Dpulse」を試してみると、

ALSA lib control.c:874:(snd_ctl_open_conf) Cannot open shared library
/usr/lib64/alsa-lib/libasound_module_ctl_Pulse.so
amixer: Mixer attach Pulse error: No such file or directory`

確認したところ、ファイルが実際にありません。私 行う しかし持っている
/usr/lib32/alsa-lib/libasound_module_ctl_Pulse.so

VLCで曲を再生すると、ストリームがpavucontrolに表示されますが、音声がスピーカーに届きません...私はグループPulsePulse-accessにいます(完全にはわかりません) re for、しかし彼らが傷つけることはできないと考えた)、そしてガイド http://pulseaudio.org/wiki/PerfectSetup に従って手紙を書いた。

更新:

奇妙なことに、私がdelete/ etc/asound.confの場合、オーディオストリーム まだ pavucontrolに表示されます...だから... pulseaudioは実際に実行されていますか?私はそれを使用していますか?どうすればわかりますか?

6
Mala

正解は次のとおりです。PulseAudioは サウンドサーバー ; ALSAはカーネルサウンドサブシステムです。それらは異なることをします-ALSAはあなたのサウンドカードまたはオンボードサウンドチップ用のチップセットドライバーを提供します。 PulseAudioは、プログラム、サウンドチップ、さらにはシステム間でサウンドをルーティングします。

PulseAudioはPOSIXシステム用のサウンドサーバーです。サウンドサーバーは基本的にサウンドアプリケーションのプロキシです。これにより、アプリケーションとハードウェアの間を通過するサウンドデータに対して高度な操作を行うことができます。オーディオを別のマシンに転送したり、サンプル形式やチャンネル数を変更したり、複数のサウンドを1つにミキシングしたりすることは、サウンドサーバーを使用して簡単に実行できます。

PulseAudioを使用するには、どこかにサウンドドライバーが必要です。これはALSAまたは [〜#〜] oss [〜#〜] ;これらは、コンピューターからサウンド信号を出力するためのカーネルサウンドドライバーを提供します。

First Steps ページの手順に従って、PulseAudioコマンドラインを表示します。 [〜#〜] cli [〜#〜] を使用して、正常に動作しているかどうかをテストできます。

# get a pulseaudio commandline
$ pulseaudio -nC

Welcome to PulseAudio! Use "help" for usage information.

# run this to see what sinks are configured
>>> list-sinks

また、/etc/Pulse/daemon.confおよび/etc/Pulse/default.pa構成ファイルも確認してください(PAを自分でコンパイルしてインストールした場合は、/usr/local/etc/Pulseにインストールされる可能性があります)。

5
quack quixote

私は非常に幸運で、pulseaudioの問題がなかったことを認めなければなりません。そのため、それらを解決する方法が本当にわかりません。

しかし、私はあなたにpulseaudioが何であるかについての基本的な考えを与えることができます...

基本的に、pulseaudioはサウンドシステムの追加レイヤーであり、既存の音源と出力の間に位置します。そのため、システムにはALSAが必要ですが、ノイズを発生させたいプログラムには(仮想)pulseaudioデバイスがあるという考えです。その後、PulseaudioはALSAのものを扱います。

したがって、ALSAドライバーを処理するように多くのプログラムを構成するのではなく、pulseaudioを処理するように多くのプログラムを構成し、ALSAドライバーを処理するようにpulseaudioを構成します。これはおそらく「良いこと」です。

1
Neal

このファイルはalsa-plugins-pulseaudioの一部です。システムにはalsa-plugins-pulseaudio-1.1.5-1.fc27.i686がインストールされていましたが、x86_64がありませんでした。だから私はしました:

Sudo dnf install alsa-plugins-pulseaudio-1.1.5-1.fc27.x86_64

お役に立てば幸いです。

Arch LinuxでいくつかのALSA関連パッケージをアップグレードした後、同様のエラーが発生しました。

amixer set Master 5%+

戻ってきた

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get)
Cannot open shared library /usr/lib/alsa-lib/libasound_module_ctl_Pulse.so
amixer: Mixer attach default error: No such device or address

パッケージバージョン:

  • pulseaudio 4.0-2
  • lib32-libpulse 4.0-2
  • alsa-lib 1.0.27.2-1
  • lib32-alsa-lib 1.0.27.2-1
  • alsa-utils 1.0.27.2-1
  • alsa-plugins 1.0.27-2
  • lib32-alsa-plugins 1.0.27-1
  • pulseaudio-alsa 2-2

解決策は、パッケージを更新することでしたjson-c(0.10-2から0.11-1に)。

0
ktalik