PulseAudioヘッドフォンの問題

PulseAudioヘッドフォンの問題

伝統に応じて、パルスオーディオの使用に問題があります。

X(DWM)を入力してgoogle-chromeを実行した後、youtube.comにアクセスして動画を再生すると、ヘッドフォンが機能せず、音が不均一になります。

speaker-test -c 2 -t wav -D plughw:2,0結果:再生を開くエラー:-16、デバイスまたはリソースが使用中

Xを再起動すると(ログアウト - >ログイン)、ブラウザのオーディオが魔法のように動作し始めます。

****再生ハードウェアデバイス一覧****

card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Device [USB Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

何が起こったのかわかりません。以下は私が受け取ったメッセージです。/var/log/メッセージ

初めてログイン

Mar 11 20:07:31 qwerty pulseaudio[1223]: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much
Mar 11 20:07:31 qwerty pulseaudio[1223]: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much
Mar 11 20:07:31 qwerty pulseaudio[1223]: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much
Mar 11 20:07:31 qwerty pulseaudio[1223]: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much
Mar 11 20:07:31 qwerty pulseaudio[1223]: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much
Mar 11 20:07:44 qwerty org.a11y.Bus[1007]: Activating service name='org.a11y.atspi.Registry'
Mar 11 20:07:44 qwerty org.a11y.Bus[1007]: Successfully activated service 'org.a11y.atspi.Registry'
Mar 11 20:07:44 qwerty org.a11y.atspi.Registry[1288]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.

2回目のログイン

Mar 11 20:08:01 qwerty org.gtk.vfs.Daemon[1007]: A connection to the bus can't be made
Mar 11 20:08:01 qwerty org.gtk.vfs.Daemon[1007]: g_dbus_connection_real_closed: Remote peer vanished with error: Underlyin on an async read (g-io-error-quark, 0). Exiting.
Mar 11 20:08:01 qwerty org.a11y.Bus[1007]: g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOS async read (g-io-error-quark, 0). Exiting.
Mar 11 20:08:01 qwerty org.a11y.atspi.Registry[1288]: g_dbus_connection_real_closed: Remote peer vanished with error: Undebytes on an async read (g-io-error-quark, 0). Exiting.
Mar 11 20:08:02 qwerty org.a11y.Bus[1007]: No protocol specified
Mar 11 20:08:17 qwerty org.a11y.Bus[1349]: Activating service name='org.a11y.atspi.Registry'
Mar 11 20:08:17 qwerty org.a11y.Bus[1349]: Successfully activated service 'org.a11y.atspi.Registry'
Mar 11 20:08:17 qwerty org.a11y.atspi.Registry[1539]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.

Asound.conf

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

pcm.!default {
    type pulse
}

ctl.!default {
    type pulse
}

ALSA情報スクリプトの出力v 0.4.64

http://www.alsa-project.org/db/?f=5290b8d86207b2cba3c1e4854fea0399e7fdb9f7

引き続き実行中のすべてのpulseaudioプロセスを終了し、実行すると

speaker-test -c 2 -t wav -D plughw:2,0オーディオは機能しますが、明らかにブラウザでは機能しません。

今、2つのオプションがあります。 pulseaudioを削除し、環境変数を介してPCM_DEVICEを設定しようとしています。これも痛いです**またはこのpulseaudioの問題を整理しようとしています...私は他の場所で時間を過ごしたほうがいいです。

答え1

問題が突然発生し、インストールしたパッケージが何であるかわからないため、pulseaudioで修正して修正しようとしませんでしたが、設定ファイルで何も変更せず、問題が発生しました。突然現れました。

問題を解決するために私がしたことは、パルスオーディオを完全に削除することでした。

apt-get --purge remove pulseaudio*
rm -r ~/.config/pulse

元のalsaに戻すサウンドプロファイルファイルを作成し、デバイス環境変数への入力を追加しました。

/ETC/ASOUND.CONF

defaults.pcm.!card Device
defaults.ctl.!card Device
defaults.pcm.!device { 
        @func igetenv  
                vars [ ALSA_PCM_DEVICE ]  
                default 0 
}

効果がある! (「デバイス」は私のUSBカードの名前です)

複数のオーディオ出力デバイスがあるカードに切り替えるときは、環境変数を設定する必要があります。

コマンド: >ALSA_PCM_CARD=カード ALSA_PCM_DEVICE=デバイス Firefox

ALSA_PCM_DEVICE を asound.conf に追加しないと設定できません。 .confで定義されていますが、明らかに設定するのに十分ではありません/usr/share/alsa/alsa.conf

その理由は、PlughwがALSA_PCM_DEVICEを使用し、設定されていない場合はdefaults.pcm.deviceにフォールバックしますが、dmixは(/usr/share/alsa/pcm/dmix.conf)ALSA_PCM_DEVICEを確認せずにdefaults.pcm.deviceのみを使用するためです。

そのため、ALSA_PCM_DEVICE環境変数を確認するためにdefaults.pcm.!deviceを明示的に再定義する必要があります。

編集する(IRC - ALSA環境変数の要約ダイアログ)

珍しい内蔵デバイス/ドライバがなければ。

Alsaは同様の"default"=plug->dmix->hw再生チェーンを提供する必要があります。

~/.asoundrcはまったく必要なく、すぐに機能するはずです。

デフォルトでは、チェーンはカード0デバイス0で終了します。

または、技術的に言えば、(1)設定されていない場合は、ALSA_PCM_CARDカードの環境のデフォルト値です。 (2) 設定されていない場合の ALSA_CARD env.variable のデフォルト値です。 (3)次の場合、デフォルトは「defaults.pcm.card」alsa変数です。設定されておらず(4)、デフォルトはカード0です。

たとえば、すべてのアプリケーションが「PCH」というサウンドカードを再生できるようにするには、〜/.asoundrc(ユーザーのみ)または/etc/asound.conf(すべてのユーザー)に2行を追加するだけです。

defaults.pcm.!カードPCH

defaults.ctl.!カードPCH

これを無視して「ヘッドセット」というカードを再生したい場合は、アプリケーションを実行できます。または、出力にカード名を表示することもenv ALSA_CARD=Headset some-app-hereできます。技術的にはカード番号()を使用することもできますが、再起動時にカード番号が変わる可能性があるため、通常は名前を使用することをお勧めします。cat /proc/asound/cardsaplay -lenv ALSA_CARD=2 some-app-here

編集する(IRCのサマリー会話 - PulseAudio)

Pulseaudioは仕事を別の方法で行います。中間モジュールを追加する代わりにグローバルpulseaudioデーモンを追加し、そのデーモンは「hw」pcmを直接再生します。他のすべてのアプリケーションはこのデーモンを再生する必要があります。他のアプリケーションの実行中に「hw」を再生できないからです。そのため、「デバイスまたはリソースが使用中です」というメッセージが表示されます。

したがって、一般的なpulseaudio再生チェーンはdefault = "typepulse"モジュール->pulseaudio daemon-> hwです。 pulseaudioで「hw」、「plughw」、または「dmix」を使用しないでください。どちらも一緒に動作しません。代わりにpcm.!default {typepulse}を定義する必要があります(実際、pulseaudioは通常これを自動的に行います)。

pulseaudioがインストールされている場合は、pcm.!default {typepulse}を使用するだけです。ほとんどのディストリビューションでは、pulseaudioはこれを自動的に実行します。 (archlinuxでは別々の「pulseaudio-alsa」パッケージでパッケージ化されており、デフォルトではこのalsa構成のみがあり、他にはありません)

関連情報