在我将 Asrock ion330 升级到 ubuntu 11.10 后,中央扬声器移到了左后方。以下是输出aplay -L
:
Discard all samples (playback) or generate zero samples (capture)
default:CARD=NVidia
HDA NVidia, VT1708S Analog
Default Audio Device
front:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
Front speakers
surround40:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
dmix:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
Direct sample mixing device
dmix:CARD=NVidia,DEV=1
HDA NVidia, VT1708S Digital
Direct sample mixing device
dmix:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample mixing device
dsnoop:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=1
HDA NVidia, VT1708S Digital
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample snooping device
hw:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=1
HDA NVidia, VT1708S Digital
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=0
HDA NVidia, VT1708S Analog
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=1
HDA NVidia, VT1708S Digital
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Hardware device with all software conversions
我还编辑了/etc/pulse/daemon.conf
这一行:
default-sample-channels = 6
我是否必须编辑该行:default-channel-map = front-left,front-right ??
我的右声道和左声道都有声音,中间和左后方有反向声音,右后方没有声音,低音炮正常。
重新启动 pulseaudio(也尝试重新启动 ubuntu)。没有成功。
我还在音频->硬件中选择了 HDMI 5.1
出了什么问题??在 10.10 和 11.04 中运行良好
答案1
这个问题已由原帖回答
接下来的两个文件将修复多通道 PCM 的错误通道映射。
sudo wget pastebin.com/download.php?i=f5f9654bb -O /etc/asound.conf
sudo wget pastebin.com/download.php?i=f2e38265 -O /usr/share/alsa/cards/HDA-Intel.conf
第一个文件/etc/asound.conf
看起来像这样
pcm.!hdmi-remap {
type asym
playback.pcm {
type plug
slave.pcm "remap-surround71"
}
}
pcm.!remap-surround71 {
type route
slave.pcm "hw:0,3"
ttable {
0.0= 1
1.1= 1
2.4= 1
3.5= 1
4.2= 1
5.3= 1
6.6= 1
7.7= 1
}
}
第二个文件/usr/share/alsa/cards/HDA-Intel.conf
如下所示
#
# Configuration for the Intel HD audio (ICH6/ICH7)
#
<confdir:pcm/front.conf>
HDA-Intel.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type softvol
slave.pcm "remap-surround71"
control {
name "PCM Playback Volume"
card $CARD
}
}
# default with dmix+softvol & dsnoop
HDA-Intel.pcm.default {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm "remap-surround71"
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
@func concat
strings [ "dsnoop:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
# to avoid possible phase inversions with digital mics
route_policy copy
}
hint.device 0
}
<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>
HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0
<confdir:pcm/iec958.conf>
HDA-Intel.pcm.iec958.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type asym
playback.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
]
}
}
capture.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Capture Switch"
lock true
preserve true
value true
}
]
}
}
hint.device 1
}
<confdir:pcm/hdmi.conf>
HDA-Intel.pcm.hdmi.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type hooks
slave.pcm {
type plug
slave.pcm "remap-surround71"
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
]
}
hint.device 3
}
<confdir:pcm/modem.conf>
HDA-Intel.pcm.modem.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
device 6
hint.show off
}