在我的笔记本电脑上,我有一个板载声卡,还有一个连接的蓝牙耳机。我已在以下位置配置了蓝牙设备/etc/asound.conf
:
# cat /etc/asound.conf
pcm.bluetooth {
type bluetooth
device 12:34:56:78:9a:bc
profile "auto"
}
ctl.bluetooth {
type bluetooth
}
现在我可以通过指定新的音频设备来向耳机播放音频,例如:
mplayer -ao alsa:device=bluetooth file.mp3
如果我想在默认设备上播放,我只需忽略该设备即可:
mplayer file.mp3
但是,我需要配置 ALSA,以便默认情况下所有声音都会发送到两个设备,而无需为每个应用程序显式设置此设置。
IE:
mplayer file.mp3
应该在笔记本电脑声卡和蓝牙耳机上播放。
我怎样才能做到这一点 ?
答案1
这是一种方法〜/.asoundrc;示例显示了在默认 PCM 下联合使用的板载和 Soundblaster Live 卡。
# duplicate audio to both devices
pcm.!default plug:both
ctl.!default {
type hw
card SB
}
pcm.both {
type route;
slave.pcm {
type multi;
slaves.a.pcm "sblive";
slaves.b.pcm "onboard";
slaves.a.channels 2;
slaves.b.channels 4;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
bindings.4.slave b;
bindings.4.channel 2;
bindings.5.slave b;
bindings.5.channel 3;
}
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1; # front left
ttable.1.3 1; # front right
ttable.0.4 1; # copy front left to rear left
ttable.1.5 1; # copy front right to rear right
}
ctl.both {
type hw;
card Live;
}
pcm.onboard {
type dmix
ipc_key 1024
slave {
pcm "hw:0,1"
period_time 0
period_size 2048
buffer_size 65536
buffer_time 0
periods 128
rate 48000
channels 4
}
bindings {
0 0
1 1
2 2
3 3
}
}
pcm.sblive {
type dmix
ipc_key 2048
slave {
pcm "hw:1,0"
period_time 0
period_size 2048
buffer_size 65536
buffer_time 0
periods 128
rate 48000
channels 2
}
bindings {
0 0
1 1
}
}
ctl.onboard {
type hw
card "SB"
}
ctl.sblive {
type hw
card "Live"
}
(来源)
答案2
答案3
如果pulseaudio也是一个选项,那么有一个优雅的解决方案可以创建一个多输出设备,将输出复制到所有其他输出。
简而言之:
- 安装并运行帕普夫斯或者
- pactl 加载模块模块组合接收器
看https://askubuntu.com/questions/78174/play-sound-through-two-or-more-outputs-devices