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');

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

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

相关推荐
工边页字19 小时前
Electron应用的8种防护方式
前端·javascript·electron
不可能片场1 天前
resources/app 为何能覆盖 app.asar
前端·electron
不可能片场2 天前
Electron 子进程退化成 node 的 env 陷阱
前端·electron
不可能片场2 天前
puppeteer 调试实录:CDP 双层响应让取值永远 None
前端·electron
不可能片场2 天前
自动化也会丢:一次 WorkBuddy 自动化清空的复盘
前端·electron
web打印社区3 天前
网页静默打印热敏小票:从 HTML 到出纸的完整指南
前端·javascript·vue.js·electron·pdf·html
ardss4 天前
ZCode 崩了,项目列表全丢:我从 69MB 日志里把数据一条条挖了出来
electron
「、皓子~5 天前
海狸IM 2.1 正式发布
flutter·微服务·golang·electron·开源软件·im·海狸im
明月_清风7 天前
🖥️ Electron 三进程 Host 实战:从架构设计到生产落地的完整指南
前端·electron·客户端
JienDa7 天前
我做了一款不依赖 AI 的离线传统术数排盘工具:Electron、Vue3 与 Java 17 的完整实践
java·人工智能·electron