gentoo alsapulseaudio - alsaミキサーが動作します。 hw:1,0で直接再生すると、設定されたPCMは機能しません。

gentoo alsapulseaudio - alsaミキサーが動作します。 hw:1,0で直接再生すると、設定されたPCMは機能しません。

pulseaudioデーモンいいえ実行時にaplayを使ってスピーカーに音を送ることができます

aplay -Dhw:1,0 sample.wav

上記のように再生すると、alsamixerは期待どおりにカードの音量を制御しているようです。特に、マスターおよびフロントチャンネルは、上で再生されるサンプルのボリュームに影響を与えます。

aplay -Lを実行すると、多くのPCMが一覧表示されます。再生のためにPCMの1つを選択すると、音はまったく聞こえません。 pulseaudioが実行中の場合、aplayは自動的に失敗します。 pulseaudio が実行されていない場合、エラー 2 で失敗し、ファイルを開くことができません。

ほとんどのサウンドアプリケーションはサウンドハードウェアの低レベル仕様を受け入れないようで、aplayを介して他にはまったくサウンドを得ることはできません。問題は、親PCM名がハードウェアデバイスに正しくマップされないことです。

pulseaudioのない古いカーネルには、このシステムではサウンドの問題がないことに注意してください。

音が出ない場合:

aplay -Dfront sample.wav
aplay -Dpulse sample.wav

aplay -L 出力:

null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
default:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    IEC958 (S/PDIF) Digital Audio Output

aplay -l 出力

card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

答え1

私にとって答えは、Pulseaudioがudevを誤解したか、udevが間違った設定を提供したことです。私はこの質問を決定するのに十分な知識がありません。 udevからインポートするのではなく、ハードウェア構成を明示的に設定するためにPulse audio default.paを変更すると機能します。

default.paでは、次の2行のコメントを削除する必要がありました。

load-module module-alsa-sink device=hw:1,0
load-module module-alsa-source device=hw:1,0

そして次の行にコメントを付けてください:

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif

答え2

正しいカードを選択するには、完全なデバイス名を使用する必要があります。

aplay -D front:CARD=PCH,DEV=0 sample.wav

ベースカードを変更するには、次の内容をグローバル/etc/asound.confまたは次のエントリに追加します~/.asoundrc

defaults.ctl.card "PCH"
defaults.pcm.card "PCH"

PulseAudioが正しいカードを使用できるようにするには、カードを設定する必要があります(試してみてくださいpavucontrol)。

関連情報