Jiv*_*van 5 macos electron electron-builder electron-packager macos-monterey
我已经构建了一个堆栈电子和reactjs的应用程序。我正在尝试从应用程序访问摄像头和麦克风。但该应用程序在请求时不会请求许可,也不会显示在“系统偏好设置”->“安全和隐私”下的摄像头和麦克风下。以下是我正在使用的版本:
"electron": "^15.3.0",
"electron-builder": "^22.14.5",
"electron-devtools-installer": "^3.2.0",
"electron-notarize": "^1.1.1",
"electron-rebuild": "^3.2.3",
"react": "^17.0.2"
Run Code Online (Sandbox Code Playgroud)
让我知道我缺少什么或需要改变什么。提前致谢。
Cai*_*kai 11
我也遇到了这个问题,它在 macOS Catalina 中运行良好,但在蒙特利有时却不能。
我在阅读电子官方文档后解决了这个问题:
“如果您计划使用 Electron 的 API 访问应用程序中的麦克风或摄像头,您还需要添加以下权利”
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
Run Code Online (Sandbox Code Playgroud)
要添加权利,因为您正在使用,electron-builder您可以使用一个配置package.json来添加它,"mac"添加以下内容:
"extendInfo": {
"NSMicrophoneUsageDescription": "Please give us access to your microphone",
"NSCameraUsageDescription": "Please give us access to your camera",
"com.apple.security.device.audio-input": true,
"com.apple.security.device.camera": true
},
Run Code Online (Sandbox Code Playgroud)
然后您需要添加以下行来请求媒体权限:
const { systemPreferences } = require('electron')
const microphone = systemPreferences.askForMediaAccess('microphone');
const camera = systemPreferences.askForMediaAccess('camera');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4919 次 |
| 最近记录: |