pavucontrol 不会改变某些应用程序的输出

Joh*_*lie 12 audio pulseaudio

我有一副蓝牙耳机与电脑配对。如果在 pavucontrol 中选择了某些应用程序,则可以通过它们播放。但是,其他人不会让我选择它们。事实上,我根本无法更改这些应用程序的输出。我可以单击按钮并查看列表(如屏幕截图所示),但如果我选择其他选项,它会直接返回 HD-Audio Generic。其他应用程序(例如 Spotify,如屏幕截图所示)允许我从一台设备切换到另一台设备而不会出现问题。这是怎么回事?

当您单击一个选项时,此菜单会显示但实际上并未更改

我还尝试通过命令行使用更改接收器,pactl但由于某种原因它返回“无效参数”。这个线程中描述了一个几乎相同的情况,但不幸的是它从未得到回答。

这是来自的接收器输入数据pactl

Sink Input #8
        Driver: protocol-native.c
        Owner Module: 11
        Client: 24
        Sink: 0
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Format: pcm, format.sample_format = "\"float32le\""  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
        Corked: no
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Buffer Latency: 54807 usec
        Sink Latency: 23177 usec
        Resample method: copy
        Properties:
                media.role = hex:
                phonon.streamid = hex:
                media.name = "Playback Stream"
                application.name = "bioshock.i386"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "26"
                application.process.id = "10390"
                application.process.user = "john"
                application.process.host = "strangelove"
                application.process.binary = "bioshock.i386"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = [redacted]
                application.process.session_id = "2"
                module-stream-restore.id = "sink-input-by-application-name:bioshock.i386"
Run Code Online (Sandbox Code Playgroud)

我正在运行 Linux Mint 18.3 "Sylvia"、KDE ​​Plasma 5.8.9、KDE ​​框架 5.36.0 和 pulseaudio 8.3。不会切换设备的顽固应用是来自 Steam 的 BioShock Infinite。我还测试了 64 位版本的 Talos 原理(也来自 Steam),它也不允许我更改输出。

Joh*_*lie 15

我终于找到了解决方案:https : //steamcommunity.com/app/93200/discussions/0/864959809826195633/

似乎有些应用程序使用称为 OpenALsoft 的东西来控制音频,并且它有一个配置选项可以禁止接收器更改。要禁用该选项,您可以创建一个配置文件。

~/.alsoftrc

[pulse]
allow-moves=yes
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案适用于 Ubuntu 19.10 中的 Minecraft。 (3认同)