Electron 设置Chrome Flags

有个项目使用Electron开发,内部含有一个使用WebRTC开发的语音通话功能,使用采购的麦克风出现声音很小的情况,排查了两天,发现原因是麦克风输出的立体声是相位相反的两个音轨,导致在单扬声器上播放时相互抵消了,所以就找方法看怎么能采集单声道音频。

最终在chrome://flags找到一个标志 enable-webrtc-apm-downmix-capture-audio-method ,当选择Enabled - Use first channel时,声音采集播放回复正常,接下来就是看怎么在Electron内设置这个标志。

根据Electron文档,可以使用app.commandLine.appendSwitch来设置启动参数。然后又找到了个整理chrome flags的网站https://nu11u5.github.io/chromium-flags/,在里面找到了这个参数。

点击后面的commit id,可以跳转到提交记录,很幸运,这个提交记录给出了设置的示例。

使用如下代码成功设置

复制代码
app.commandLine.appendSwitch('enable-features', 'WebRtcApmDownmixCaptureAudioMethod:method/first');

应用启动后,麦克风工作正常。

看了看别的参数,里面的提交记录没有写怎么启用,只能去代码里面找了。

相关推荐
大蓝头3 天前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
flash俊杰4 天前
Electron 打包后窗口 30 秒不出现:一个 ABI 不匹配的血案
electron·node.js
flash俊杰5 天前
Electron 安全纵深:contextIsolation、最小暴露面与 CSP 防线
electron
凤城老人6 天前
从零手写开源私有云盘|Flask+Vue3+Electron全栈网盘,单容器一键部署
python·docker·electron·vue
flash俊杰7 天前
Electron 自定义协议与视频流式加载:从 moov atom 到 Range 请求的工程化实践
electron·前端框架
愛芳芳7 天前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
Patrick_Wilson9 天前
桌面端发布的真实成本:签名、公证和那支不能共享的 USB Key
ci/cd·electron·客户端
爱丶不疚9 天前
Electron: 你是否需要对 Preload 开启 nodeIntegration?
安全·性能优化·electron
爱丶不疚9 天前
Electron:Module 与 Service 的职责边界与加载时序编排
前端·electron·nestjs
爱丶不疚9 天前
Electron: 缓存机制有哪些?能控制的又有哪些
前端·electron·v8