pulseaudioデーモンが実行されていない場合、aplayを使用してサウンドを送信できます

aplay -Dhw:1,0 sample.wav 

alsamixerを搭載したスピーカーは、上記のように再生するときに、カードの音量を制御することで期待どおりの動作をするようです。特にマスターチャンネルとフロントチャンネルは、上記で再生したサンプルの音量に影響します。

aplay -Lを実行すると、PCMの数が表示されます。これらのPCMのいずれかを再生用に選択すると、音がまったく出ません。 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 output

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 

コメント

、Pulseaudioが実行されていない(または'このデバイスを過剰に使用することができなかった)ため、pulseは'動作しません。

  • @ dirkt-その通りです-質問に詳細を追加しました
  • pulseaudio、pavucontrolを起動し、ストリームが正しい出力(HDMIではない)に送られることを確認します。また、ivの代わりにpaplayを使用します。 id = “0a7dd83def”>
  • は、複雑さ(およびエラーの原因)を取り除きます。pulseaなしudio、提案どおりにaplay -D front:CARD=PCH,DEV=0をテストしましたか? ALSAデバイス名が完全に一致することを理解したことはありませんが、frontだけで他のものと一致する可能性があります。

    回答

    私にとっての答えは、Pulseaudioがudevを誤って解釈していたか、udevが間違った構成を渡していたというものでした。どちらも質問を決定するのに十分な知識がありません。Pulseaudioを変更した場合default.paは、udevから取得するのではなく、ハードウェア構成を明示的に設定するために機能します。

    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 

    回答

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

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

    デフォルトのカードを変更するには、次のようなものをグローバル

    または~/.asoundrc

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

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