如何配置JACK音频服务器以自动使用特定卡?

我在HP Pavilion dm1 4200sg上网本上运行Ubuntu 12.04工作室.这几乎是一个全新的安装.我尝试通过运行启动jackd服务器

jackd -R -d alsa

并且输出失败:

JACK server starting in realtime mode with priority 10
control device hw:0
control device hw:0
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
Cannot initialize driver
JackServer::Open() failed with -1
Failed to open server

运行aplay -l会提供以下输出:

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

我发现通过跑步

jackd -R -d alsa -d hw:1

jackd成功启动.我想配置我的机器,以便hw:1是默认选项(即使原始’jackd -R -d alsa’命令工作).任何人都可以帮我这样做吗?

我已经尝试编辑〜/ .asoundrc了

pcm.!default {
     type hw
     card 1
}

ctl.!default {
     type hw
     card 1
}

但这似乎不起作用.我在这里离开了我的舒适区,任何帮助都会受到赞赏.谢谢!

最佳答案 我找到了一个解决方法.它不配置JACK服务器,但会改变声卡的列表顺序.

我第一次进入终端:

sudo lshw -c multimedia

这显示了两张卡使用的模块.他们都使用’snd-hda-intel’.

然后我进入了终端:

cat /proc/asound/card0/id
cat /proc/asound/card1/id

它分别为卡0和1提供了ids’Generic’和’SB’.

然后我将以下两行添加到文件’/etc/modprobe.d./alsa-base.conf’的末尾

options snd-hda-intel id=SB index=0
options snd-hda-intel id=Generic index=1

重新启动机器后,卡’SB’被加载到位置0和

jackd -R -d alsa

正确开始.

点赞