更新:

更新:

我有一个板载声卡,还有一个连接的蓝牙耳机。我已在以下位置配置了蓝牙设备/etc/asound.conf

# cat /etc/asound.conf

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

默认情况下,板载卡用于所有声音(显然,默认板载卡甚至不需要在 asound.conf 中列出)

当我希望应用程序使用我的蓝牙 alsa 设备时,我必须指定它,例如:

mplayer -ao alsa:device=bluetooth file.mp3

这对我来说很好。但我需要一种方法来告诉我的浏览器也使用蓝牙 alsa 设备。

我找到了一种使用命令行选项启动 chromium 的方法--alsa-output-device

chromium --alsa-output-device=bluetooth

我需要类似的方式来启动 Firefox,但我找不到。

我如何告诉 Firefox 使用我的蓝牙 alsa 设备,而无需/etc/asound.conf每次~/.asoundrc修改?

更新:

我听从了@lgeorget 的建议,/etc/asound.conf现在我的情况是这样的:

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:0,0"
    }
}

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

当我使用 启动 Firefox 时ALSAPCM=bluetooth firefox,我的蓝牙耳机确实有声音,但 Firefox 以 100% CPU 运行(在我的 4 个核心上),并且 YouTube 视频以 10 倍速度播放(并且声音相应地(乱码)。我不知道当我在没有 的情况下启动 Firefox 时ALSAPCM=bluetooth,一切正常,并且声音在默认的 alsa 设备上播放。

答案1

显然 Firefox 没有这个选项,但您可以通过环境变量操纵 ALSA 输出。

尝试例如:

ALSA_PCM_CARD=bluetooth firefox

或者,如果这不起作用,请尝试编写一些 .asoundrc 脚本

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:hdmi"
    }
}

(将“hw:hdmi”替换为您的普通 pcm)。然后,如果您希望程序使用特定的 PCM,请使用:

ALSAPCM=bluetooth firefox

资料来源:

答案2

备注:当前的 Firefox 版本似乎出于未知原因忽略了 ~/.asound.conf。

如果您不使用pulseaudio(它主要是alsa上不需要的一层,尽管大多数发行版都安装了它),那么在大多数情况下,您只需选择默认音频输出到另一个。

.asound.conf您可以在家中通过以下方式完成此操作:

pcm.!default {
    type hw
    card N
}

ctl.!default {
    type hw           
    card N
}

用一个小整数替换N,0 代表您的第一个声卡(这是默认值),1 代表第二个声卡,依此类推。

!这里的 in并不是!default否定!它是对先前(系统范围定义的)全局 alsa.conf 的重写。

更多棘手的配置可以阅读这里

答案3

它看起来就像是一个化身这个错误。有一些解决方案建议,但它们似乎是英特尔特定的。

尝试使用脉冲音频。如果有效,您可以使用以下命令将 ALSA 程序重定向到pulseaudio asound.conf

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

如果这没有帮助,请尝试将rate 44100或添加rate 48000pcm.bluetooth您的asound.conf.也许到那时 ALSA 就会明白过来。

你也可以尝试Html5 Youtube 视频速度控制器,尽管我怀疑这会有帮助。

相关内容