吕高平 发表于 2024-8-1 23:16:08

解决飞书 Linux 在屏幕分享时候的回音问题

问题

在 Linux 桌面环境中使用飞书时,有一个十分诡异的现象:
触发条件:

[*]使用飞书会议;
[*]自己进行屏幕分享;
[*]自己没有 mute,即自己没有关闭麦克风。
现象:

[*]其他人讲话时会听到他自己的回音;
[*]我自己听到的声音则是正常的。
我的使用环境:

[*]飞书版本:7.18.11
[*]Debian 12 + KDE + Wayland + Pipewire
P.S. 为飞书对 Linux 环境的支持手动点赞!企鹅家学着点儿!
分析

1: 使用 Pipewire 替换 PulseAudio

根据 Debian 官方 wiki 的内容,Debian 12 只在 Gnome 环境下默认使用了 Pipewire,而 KDE 和其他环境还是 PulseAudio 的方案。
因此,怀疑可能与这个相关,遂尝试将 PulseAudio 彻底替换为 Pipewire 试一下。
替换方法:
# pipewire-audio 是一个 meta package,包含了完整的 pipewire 解决方案,会自动替换掉 PulseAudio。
# 所以安装这一个就够了。
sudo apt install pipewire-audio然后重启生效。
然而,经测试后发现,问题依然存在,所以应该不是这个问题。
2:检查 Pipewire 的连接情况

安装可视化工具

# qpwgraph 是 Qt based
# helvum 是 Gtk based,Gnome 环境可以安装这个
sudo apt install qpwgraph查看飞书会议,不分享屏幕时的情况


可以看到,Microphone 已经和 ByteAudio Engine 的 Input 连接了,这个符合预期,没有问题。
查看飞书会议,分享屏幕后的情况


这里,诡异的地方出现了:

[*]设备的 monitor 也和 ByteAudio Engine 的 Input 连接在了一起。(显示 Headphones 是因为此时我使用了耳机)
于是我开始怀疑,是不是与分享屏幕时的 “共享电脑音频” 功能相关,需要继续求证一下。
查看打开 “共享电脑音频” 的情况


从图片中可以看到, “共享电脑音频” 的开关已经打开,但音频的连接没有任何变化。
查看关闭 “共享电脑音频” 的情况


诡异的事情来了,当再次关闭 “共享电脑音频” 后,设备 monitor 到 ByteAudio Engine 的连接没有了。
而此时,测试声音也正常,没有回音了,问题解决。
总结

估计是飞书在屏幕分享的相关初始化逻辑中有 bug,初始化了相关设备连接,却没有关闭这个状态。导致默认开启了电脑音频,会把当前设备音频作为 input 继续转发回去,进而导致了当别人说话的时候,会听到他自己的回音。
临时解决方案


[*]共享屏幕后,先手动打开一下 “共享电脑音频”,再手动关闭一下,即可恢复正常。
P.S. 目前还没找到飞书 Linux 版的问题反馈渠道,不知道在后续版本中会不会解决。

来源:https://www.cnblogs.com/libitum/p/18337255
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 解决飞书 Linux 在屏幕分享时候的回音问题