gpt4 book ai didi

linux - ALSA 音频和 YouTube

转载 作者:太空狗 更新时间:2023-10-29 11:34:04 24 4
gpt4 key购买 nike

我想播放 youtube 视频并以编程方式将 firefox 的音频定向到特定的声卡。

我想我会做一些像 firefox | aplay -D hw:x,y.产量:

Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono aplay: set_params:1059: Sample format non available Available formats: - S16_LE

正在尝试 firefox | aplay -D hw:1,0 -f S16_LE -c 2

Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo Warning: rate is not accurate (requested = 8000Hz, got = 44100Hz) please, try the plug plugin

最后,firefox | aplay -D plughw:1,0 -f S16_LE -c 2

Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo

命令行表明它有效,但音频来自 hw:0,0(默认值)。

我需要制作自己的插件吗?或者我需要强制 alsa 使用 44100Hz 吗?

此外,我拒绝使用 pulse,因为内存泄漏错误使它经常崩溃。

最佳答案

我很确定 flash 总是使用默认声卡,因此您需要更改 pcm.default。您可以通过编辑 ~/.asoundrc 并添加如下内容来实现:

pcm.!default {
type hw
card 0
device 2
}

当然,这会影响所有应用程序,但我相信也可以设置 ALSA_CONFIG_PATH(在环境中)以指定不同的文件,这样您就可以只对 Firefox 执行此操作。

ALSA FAQ表示 ALSA_PCM_CARDALSA_CARD 环境变量也可以工作。

这些变量实际上有效,因为它们是 /usr/share/alsa/alsa.conf 中默认配置的一部分:

    @args.CARD {
type string
default {
@func getenv
vars [
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.card
}
}
}

所以,你应该能够做到这一点:

ALSA_PCM_CARD=1 ALSA_PCM_DEVICE=3 firefox

使用系统中的适当卡号和设备号。当然,您也可以将自己的环境变量(或其他条件检查)添加到您的 ALSA 配置中。

关于linux - ALSA 音频和 YouTube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8945685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com