国产Linux音视频聊天程序开发遇到的坑及解决:相互听不到对方声音?

最近完成了一个银河麒麟上的视频聊天项目,在我们开发机上测试一切正常后,提交给甲方测试。结果发现在甲方的某些银河麒麟V10的电脑上,听不到声音。

这个问题,使用《Avalonia 实现跨平台的IM即时通讯、语音视频通话(源码,支持信创国产OS,统信、银河麒麟)》这个Demo就可以重现。

我们在客户的几台麒麟V10上做了各种测试,而同一台电脑,在某些情况下又是正常能听到声音的,这真是太奇怪了。

经过漫长的摸索排查,确认麦克风扬声器硬件没有问题,程序也没有问题,最后,终于找到了问题的根本所在。

经过反复测试,发现这个问题跟银河麒麟V10的系统的声音设置有关。

1. 将系统麦克风和扬声器的音量调到最大

如果扬声器音量没有开到最大,那么即使正常的语音数据提交给系统去播放,也是听不到声音的。如下图,将麦克风的声音设置为最大。

如果麦克风音量没有开到最大,那么采集到的麦克风声音数据都是静音数据(全0),这也解释了麦克风连接器连接是正常的,为什么听不到声音了,因为收到的声音数据全是0。

2. 在银河麒麟V10上,麦克风和扬声器设备是独占模式

如果打开了如上图所示的声音设置窗口,麦克风和扬声器就被系统独占了。此时,如果再运行我们音视频通话程序,程序打开麦克风和扬声器就会失败。

综上所述,在国产OS银河麒麟V10上,要想音视频通话正常,需要保证:麦克风和扬声器的音量开到最大,没有其它别的程序(包括系统设置面板)占用了麦克风和扬声器。

开发国产OS上的音视频程序这么久了,感觉跟之前windows相比,国产OS对音视频设备的支持还是差一些,还有一段距离。

相信国产OS越来越好,到最后完全取代掉windows。当然,这需要更多的人将国产OS用起来,现在国家正在大力支持信创这块,前途还是很乐观的。

相关推荐
wqqqianqian21 天前
国产linux系统(银河麒麟,统信uos)使用 PageOffice实现word 文档中的table插入新行并赋值
word·信创·国产·pageoffice·table表格·
识途老码1 个月前
UOS 20 Pro为国际版WPS设置中文菜单
信创·wps·uos·国产操作系统·统信
识途老码1 个月前
UOS无法安装deb软件包
信创·uos·国产操作系统·统信操作系统
wqqqianqian1 个月前
国产linux系统(银河麒麟,统信uos)使用 PageOffice在线编辑word文件保存数据同时保存文件
linux·word·信创·国产·保存·pageoffice·在线编辑
志凌海纳SmartX1 个月前
高端制造行业 VMware 替代案例合集:10+ 头部新能源、汽车、半导体制造商以国产虚拟化支持 MES、PLM 等核心应用系统
制造·信创·超融合·vmware替代·企业云
带刺的坐椅1 个月前
100% 自主可控,Java Solon v3.3.1 发布(国产优秀应用开发基座)
java·spring·ai·信创·solon·mcp
漠月瑾-西安2 个月前
信创背景下的分布式数据库备份难题及解决之道
数据库·分布式·信创·数据备份
Nicolas8932 个月前
【大模型实战篇】华为信创环境采用vllm部署QwQ-32B模型
华为·信创·模型部署·昇腾·ascend·vllm·模型推理
response_L2 个月前
麒麟、UOS系统在线打开word文件并提取修订痕迹
java·信创·pageoffice·在线编辑·提取数据
response_L3 个月前
国产系统统信uos和麒麟v10在线打开word给表格赋值
java·c#·word·信创·在线编辑