首页 > 系统相关 >解决飞书 Linux 在屏幕分享时候的回音问题

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

时间:2024-08-01 18:38:50浏览次数:10  
标签:音频 回音 Pipewire Linux 屏幕 分享 共享

问题

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

  1. 使用飞书会议;
  2. 自己进行屏幕分享;
  3. 自己没有 mute,即自己没有关闭麦克风。

现象:

  1. 其他人讲话时会听到他自己的回音;
  2. 我自己听到的声音则是正常的。

我的使用环境:

  • 飞书版本: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 继续转发回去,进而导致了当别人说话的时候,会听到他自己的回音。

临时解决方案

  1. 共享屏幕后,先手动打开一下 “共享电脑音频”,再手动关闭一下,即可恢复正常。

P.S. 目前还没找到飞书 Linux 版的问题反馈渠道,不知道在后续版本中会不会解决。

标签:音频,回音,Pipewire,Linux,屏幕,分享,共享
From: https://www.cnblogs.com/libitum/p/18337255

相关文章

  • 为团队配置Linux环境,简单高效的项目共享方案
    前言最近好久没写博客了,事情太多了,我还搞了个新的好玩的项目,等后续做得差不多了来写篇文章介绍一下。在我们目前的AI项目中,团队需要共同使用一台GPU服务器来做模型训练和数据处理。为了让每个团队成员都能高效地使用这台服务器,我们决定设置一个多用户共享环境。这样,无论是代码开......
  • 检测Linux服务器CPU、内存、负载、IO读写、机房带宽和服务器类型的脚本
    脚本内容:#!/usr/bin/envbash####RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'SKYBLUE='\033[0;36m'PLAIN='\033[0m'about(){ echo"" echo"=============================......
  • 每天学一个 Linux 命令(17):chmod
    命令简介chmod命令用来变更文件或目录的权限。文件或目录权限有读取、写入、执行这3种,另外还有3种特殊权限。用户可以使用chmod去设置文件与目录的权限,设置方式采用文字或数字皆可。链接文件的权限无法直接变更,如果用户需要对链接文件修改权限,其真实作用是作用在原始文件上。......
  • Linux操作系统基础学习笔记(4)
    Linux操作系统基础学习笔记(4)前言4、Linux文件和目录管理常规命令格式(1)列出目录内容和属性(文件)(2)打印工作路径(3)切换工作路径(4)查看文件类型(5)复制文件或目录(6)查找文件或目录(7)创建目录(8)移动或重命名(9)删除文件(不能用来删除文件夹)(10)创建空文件(11)挂载(12)链接(有点像windows的快捷......
  • 伯克利Linux系统管理:基本命令与技巧 课堂与实验(系统简洁保姆级学习)
    目录一、前言:二、学习内容:2.1上课内容2.2实验内容三、问题描述四、解决方案:4.1进入目录并确认你的所在目录4.2目录中有一个隐藏文件,隐藏文件的秘密是什么?4.3一个消息拆分在所有文件中怎么找到这个消息?4.4用一个命令删除目录所有内容?4.5怎么在不打开文件情况下读取......
  • Metasploit Pro 4.22.2-2024072501 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.2-2024072501(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseJul25,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。世界上最广泛使用的渗透测试框架知识就是力量,尤其是......
  • linux之FTP服务vsftpd和pure-ftpd常用配置
    vsftpdvsftpd介绍部分参考自vsftpd操作手册-完整版-HOsystem-博客园(cnblogs.com)vsftpd认证模式匿名开放模式:是最不安全的一种认证模式,任何人都可以无须密码验证而直接登录到FTP服务器。本地用户模式:是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开......
  • 每天学一个 Linux 命令(20):find
    命令简介find命令在文件系统中搜索文件和目录。find命令用来在指定目录下查找文件,在参数之前的任何字符串都会当作是目录名。使用find命令时,如何不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部显示出来。find还是一个功能非常......
  • Linux非常强大的一个命令find
    find命令是Linux和Unix系统中非常强大的一个命令,用于在目录树中搜索文件,并执行指定的操作。它可以基于各种条件来搜索文件,比如文件名、文件类型、大小、修改时间等。基本语法find[搜索路径][选项][操作]搜索路径:指定find命令开始搜索的目录路径。如果省略,则默......
  • 2 - Linux目录与文件操作
    一、Linux目录1.Linux目录结构Linux目录结构是树形目录结构。2.根目录是所有分区、目录、文件的起始起点。整个树形结构中,使用独立的一个"/"表示3.常见的子目录与作用目录作用/root管理员用户root的宿主(家)目录/home普通用户的宿主(家)目录/boot存放系统内核、启动文件/de......