小编Sim*_*nko的帖子

如何在使用 navigator.mediaDevices.getUserMedia 录制音频时修复大量回声?

所以,我正在开发一个小型电子桌面应用程序,它可以捕获桌面屏幕并录制视频和音频。当我尝试向流中添加音频时,它开始回响非常糟糕,我不知道为什么。

我在用:

  • Windows 10 专业版 18362.778
  • 铬 81.0.4044.113
  • 电子 8.2.3

这是一些代码。

当我只想捕获和录制视频时,我创建了这些约束:

const constraints = {
        audio: false,
        video: {
            mandatory: {
                chromeMediaSource: 'desktop',
                chromeMediaSourceId: source.id
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我传递给这样的流:

const stream = await navigator.mediaDevices.getUserMedia(constraints)

它就像一个魅力。但是,当我开始添加音频时,它给了我回声:

const constraints = {
        audio: {
            mandatory: {
                chromeMediaSource: 'desktop',
            }
        },
        video: {
            mandatory: {
                chromeMediaSource: 'desktop',
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

另外,我不能只是将音频设置为 true。然后它给了我这个错误:

未捕获(承诺)DOMException:启动屏幕捕获时出错

一个有趣的事实。当我转到有关音频约束的Mozilla 文档页面并使用演示按钮时,它也会给我回声。我尝试在 Edge 上做,结果更好,但仍然有回声。那么它可以是音频编解码器吗?

这里表示支持 echoCancellation 约束,并且默认情况下从 Chrome 62 版开始。

是 Github 上的分支,我试图在那里找到解决方案,但失败了。

如果您想更仔细地查看它,是我的 …

javascript audio html5-audio electron

3
推荐指数
2
解决办法
1177
查看次数

未捕获(承诺中)错误:无法读取未定义的属性(读取“_RUNTIME_”)

我有一个 React (v18) 项目,我做了一些事情,现在导致开发工具中出现错误。似乎没有破坏我的任何流程。该错误没有指向我的任何代码行,而是 VJPCOI.js:920

完整的错误消息是

未捕获(承诺中)错误:无法读取wrappedSendMessageCallback(ZSVJPCOI.js:920:22)w处未定义的属性(读取“ RUNTIME ”)

这个错误的根源就在这个函数中

const wrappedSendMessageCallback = ({
        reject,
        resolve
      }, reply) => {
        if (extensionAPIs.runtime.lastError) {
          if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
            resolve();
          } else {
            reject(new Error(extensionAPIs.runtime.lastError.message)); <-- error here
          }
        } else if (reply && reply.__mozWebExtensionPolyfillReject__) {
          reject(new Error(reply.message));
        } else {
          resolve(reply);
        }
      };
Run Code Online (Sandbox Code Playgroud)

向我推荐一种解决/调试此错误的好方法。我在这里找不到任何相关主题。我不知道从哪里开始......

javascript debugging runtime-error runtime reactjs

2
推荐指数
1
解决办法
2676
查看次数