HDMIサウンドを出力として使用し、USBマイクを入力として使用するようにALSAを設定しようとしています。私はasound.conf
dmix/dsnoopのない職業を持っています:
pcm.usb_mic_raw {
type hw
card Device
device 0
}
pcm.usb_mic_plug {
type plug
slave {
pcm usb_mic_raw
format S16_LE
rate 48000
channels 1
}
}
# Don't use pcm.hdmi because it's taken by the default config files
pcm.hdmi_raw {
type hw
card HDMI
device 9
}
pcm.hdmi_plug {
type plug
slave {
pcm hdmi_raw
format S16_LE
rate 48000
channels 2
}
}
pcm.!default {
type asym;
playback.pcm "hdmi_plug";
capture.pcm "usb_mic_plug";
}
これはうまく機能し、ミキシングは必要ありません。一度に1つのプログラムだけがサウンドを再生できます。
plug
からに切り替えようとすると、dmix
次のエラーが発生します。
juice:~ aplay -D hdmi_plug good.wav 1 :(
Playing WAVE 'good.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
[..works..]
juice:~ aplay -D hdmi_dmix good.wav 1 :(
Playing WAVE 'good.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
aplay: set_params:1358: Channels count non available
私が追加した部分は次のとおりです。
pcm.hdmi_dmix {
type dmix
ipc_key 200
slave {
pcm hdmi_raw
format S16_LE
rate 48000
period_time 0
period_size 2048
buffer_size 8192
channels 2
}
bindings {
0 0
1 1
}
}
重要な場合、私はArch Linuxを使用しており、pulseaudioとpulseaudio-alsaをインストールしました。
ベストアンサー1
部分的な答え:
pulseaudioをインストールせずにDiscordを開くと、デバイスがなく、オーディオも表示されません。
これは、DiscordにALSAドライバがなく、Pulseaudioドライバのみが存在できることを意味します。 (しかしDiscordはプライベートソースなので、確かに言うことはできません。)
pulseaudioがインストールされているDiscordを開くと、「alsa」という出力デバイスが表示されます。
DiscordがPulseaudioデバイスの名前をどのように指定したのかわかりません。
pulseaudioが私のデバイスを検出できないようで、ALSAを設定しています。
その後、それをデバッグする必要があります。何を見せますかpactl list short
?少なくとも1つのALSAカード(おそらくそれ以上)と関連するソースとシンクを表示する必要があります。
その場合:両方をインストールし、pavucontrol
Discordの実行中に実行してから、Discordの正しいソースとシンクを選択してください。