質問
ALSAでオーディオが機能するようにしたいです。
- サウンドとミックス(つまり、サウンド出力は複数のアプリケーションで同時に使用できます。そうしないと、一部のアプリケーションはすぐにオーディオ出力をスケジュールして返しません。)
- マイク付き
- 2つのデバイスがあります(1つは内蔵、1つはUSB)。同時に動作する必要はありません。
私が所有している他のすべてのノートブック(最終的にはLenovo X250)は、問題や追加の設定を必要とせずに(なし/etc/asound.conf
または~/.asoundrc
)うまく動作します。現在、Lenovo T14にはこの機能はありません。
デフォルト設定、/etc/asound.conf なし
マイクが期待どおりに動作します。
ただし、音声出力は一度に1つのアプリケーションに制限されます。両方のシェルで次を2回実行してこれをテストしました。
mplayer -ao alsa <audio file>
最初のインスタンスは期待どおりに再生され、2番目のインスタンスは失敗します。
Playback open error: Device or resource busy
この問題を解決してください
.../etc/asound.confのpcm.dspの使用
~によるとアーチウィキ:
pcm.dsp {
type plug
slave.pcm "dmix"
}
...効果がなく、行動に変化はありません。おそらく/dev/dspが存在しないからでしょうか?
.../etc/asound.confでpcm.!defaultを使用してください。
~によるとこのUnix&Linuxスレッド:
pcm.!default {
type plug
slave.pcm "dmix"
}
サウンドミックスが機能します。マイクはありません。たとえば、Chromiumブラウザ(2つのサウンドデバイスのうちの1つ、つまりまたはで実行されているchromium --alsa-output-device='sysdefault:CARD=M459'
)には、次のものがchromium --alsa-output-device='sysdefault:CARD=sofhdadsp'
表示されます。
ALSA lib pcm_dmix.c:1008:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
[105089:105089:0211/111341.634020:ERROR:alsa_util.cc(204)] PcmOpen: default,Invalid argument
これは、dmixとサウンドキャプチャが互換性がないためです。このスーパーユーザースレッドそしてALSA マニュアルasym
非常に複雑でサウンドデバイスがハードコーディングされている.configファイルを使用することをお勧めします(hw:0,0
)。明らかにこれは私には効果がありません。すべてのハードウェア機能が正確であっても、これが原則として私の問題を解決できるかどうかはわかりません。ただし、ノートブックが特定の日付の感情(およびUSBデバイスが接続されているかどうか)に応じてhw=0.0
内部デバイスとUSBデバイスの両方を検出できるため、この設定は使用できません。hw=1.0
ノート
サウンドミキシングは上記のコマンドとして機能しますが、これら2つのコマンドのいずれかを使用すると、2番目のインスタンスでもmplayer -ao alsa
同じエラーが発生します。 ( Playback open error: Device or resource busy
) mplayer -ao alsa:device=hw=1.0 mplayer -ao alsa:device =hw=0.0 そうではありません。理由がわからない。 dmixがプライマリデバイスにのみ適用される場合(つまり、プライマリデバイスではないデバイスを指定した場合は使用されません)、なぜすべてのデバイスでマイクを無効にするのかわかりません。
解決策
考えられる解決策は、/etc/asound.conf
マイクを使用するたびにそれを変更し、pcm.!default
ビットをコメントアウトしてから変更を適用することです。
alsactl restore
これは(私が知っている限り)うまくいきますが、不必要に複雑で確かにALSA設定を使用する方法ではありません。
ハードウェアとソフトウェア
ソフトウェア
アーキテクチャLinux
$ uname -srmo
Linux 5.13.4-arch1-1 x86_64 GNU/Linux
$ alsactl -v
alsactl version 1.2.5.1
$ mplayer
MPlayer SVN-r38157 (C) 2000-2019 MPlayer Team
225 audio & 468 video codecs
(...)
ハードウェア
ノートパソコンはLenovo T14です。
オーディオ機器
$ lspci|grep Aud
00:1f.3 Audio device: Intel Corporation Comet Lake PCH-LP cAVS
$ ls /dev/snd/by* -l
/dev/snd/by-id:
total 0
lrwxrwxrwx 1 root root 12 Feb 11 10:30 usb-C-Media_Electronics_Inc._Mpow_459_20200813-00 -> ../controlC1
/dev/snd/by-path:
total 0
lrwxrwxrwx 1 root root 12 Feb 11 10:30 pci-0000:00:14.0-usb-0:4:1.0 -> ../controlC1
lrwxrwxrwx 1 root root 12 Feb 10 12:25 pci-0000:00:1f.3-platform-skl_hda_dsp_generic -> ../controlC0