0

我有一个使用 desktopCapturer 的 Electron 应用程序,我还使用 getUserMedia 捕获音频。

所有这些都在开发中运行良好。但是在使用适用于 Mac 的电子生成器 (dmg) 构建应用程序之后,

  1. desktopCapturer 的 getSources 只返回电子应用程序和桌面的缩略图作为源,不返回所有其他窗口的缩略图(即使它们的标题是)。

  2. 我还不断被问到是否应该允许该应用程序录制屏幕,即使在设置>屏幕录制中,该应用程序已被允许。(也许它一直在要求音频?即便如此,如何让应用程序录制音频?)

  3. 我也无法录制任何音频,但在开发过程中,我能够录制。

  4. 该应用程序也不再能够从摄像头记录下来getUserMedia error: NotReadableError: Could not start video source electron- 即使没有其他应用程序正在使用摄像头。

我完全不知道问题是什么或如何调试它。任何帮助表示赞赏!

4

1 回答 1

0

我发现在构建新版本的应用程序后,我必须删除并重新授予系统偏好设置中的权限(并重新启动应用程序以使其生效)。

如果这不起作用,您可能需要添加/编辑 build/entitlements.mac.inherit.plist。它在这里被称为电子构建器的要求:https ://www.electron.build/configuration/mac.html#:~:text=to%20application%20icon.-,entitlements,-String%20-%20The% 20路径

我认为它应该看起来像这样:

  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.device.audio-input</key>
    <true/>
    <key>com.apple.security.device.camera</key>
    <true/>
  </dict>
</plist>
于 2021-09-14T19:14:23.273 回答