私は、AとBの2台のマシンを使用しています。Bは非常に古いマシンであり、Libertineにアプリをインストールしました。サウンドは完璧に機能します。一方、マシンAでは、音はLibertineコンテナではまったく機能しません。これを診断するにはどうすればよいですか?
興味深いことに、マシンAでは、サウンドが機能する16.10以前に独自の非特権LXCコンテナーを作成し、アップグレード後も機能し続けました。ただし、16.10の新規インストールで同じLXCを使用するLibertineでは機能しません。
[〜#〜] note [〜#〜]
libertine
とlibertine-scope
のみがインストールされますgtk3
のconfファイルのみが編集されます[〜#〜] edit [〜#〜]
コンテナでspeaker-test
を実行しようとしました。実行すると、ホストで正しいサウンドが生成されますが、コンテナでは、このエラーが表示されます。
$ libertine-launch container-name speaker-test -t wav -c 6
speaker-test 1.1.2
Playback device is default
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
ALSA lib pcm_dmix.c:1041:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory
少しの研究では、多くの新しいシステム(マシンA)がデフォルトとして設定されているHDMIをしばしば備えていることが示されています。古いシステム(マシンB)にはアナログオーディオしか搭載されていない可能性が高いため、そのシステムのデフォルトです。
コマンドaplay -l
を発行して、次のような出力を取得する必要があるオーディオデバイスのリストを取得します。
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
この出力は、出力のデフォルトにするカードを決定するのに役立ちます。
必要なオーディオ出力を確認してください(カード0デバイス0はalsaのデフォルトであり、必要でない場合があります。私の場合は、カード1を指定する必要があります)
コマンドgedit ~/.asoundrc
を使用して、ホームディレクトリにファイルを作成します(geditの代わりにお気に入りのテキストエディターを使用してください)
次の行を追加します。
pcm.!default {
type hw
card *X*
}
ctl.!default {
type hw
card *X*
}
*X*
の前に発見したカード番号を代入します
ファイルを保存して、再試行してください。
さらに適用可能な情報が利用可能です ここ
編集:私はあなたがリバティーンの下で動作する2つのオーディオチャンネルを得ることができてうれしいです。拡大された質問に関して。 amixer scontrols
の出力を確認し、選択した出力が6つのオーディオチャネルをサポートしていることを確認し、もしそうであればalsamixer
を使用してミュートされていないこと、6チャネルモードであることを確認できます以下に示す2チャネルモードではありません。
alsamixer
のチャネルモードを変更するには、上に示すように矢印キーを使用してChannel
を強調表示し、上または下の矢印を使用して目的のモードを選択します。
ソース:
man aplay
https://www.alsa-project.org/main/index.php/Asoundrc#The_.asoundrc_file_format