如何在 Electron 上请求 MIDI 设备权限?
Posted
技术标签:
【中文标题】如何在 Electron 上请求 MIDI 设备权限?【英文标题】:How can I request MIDI device permission on Electron? 【发布时间】:2020-01-08 05:21:32 【问题描述】:我有一个想要与 Electron 应用程序一起使用的 MIDI 设备(启动板)。我能够使用 Web MIDI API (https://github.com/djipco/webmidi) 使用 Microsoft Edge Chromium 读取 MIDI 设备上的事件。但是,为了开始读取 MIDI 设备,需要设置权限,并显示如下:
当我运行npm start
启动电子项目时,我找不到启用 MIDI 设备权限的方法。我看不到我的任何 MIDI 设备,我假设这是因为我缺少权限。
我研究了 Electron 文档,但找不到任何东西。 systemPreferences
提供了一种请求权限的方法,但适用于摄像头和麦克风,而不是 MIDI 设备 (https://electronjs.org/docs/api/system-preferences)。
非常感谢,感谢您的帮助:)
【问题讨论】:
您能改用github.com/justinlatimer/node-midi 吗?我最近将它用于一个电子项目,它在所有平台上都运行良好。这意味着不在 BrowserWindow 中运行 midi。 【参考方案1】:我们可以使用ses.setPermissionRequestHandler 来处理这个问题。
【讨论】:
我把mainWindow.webContents.session.setPermissionRequestHandler( function permissionRequestHandler(webContents, permission, callback) return callback(true); );
放在mainWindow.loadURL(url);
之后,还是没有得到权限请求。我阅读了文档,但我无法很好地理解它,所以我在网上寻找其他代码,这就是我能够得到的。我错过了什么吗?我做错什么了吗?
据我了解,它处理了一次调用的权限,但实际上并没有调用权限
在这个处理程序中,我们可以获得权限并根据您可以处理的权限。如果您需要深入的知识,可以参考开源 wavebox 代码。他们正在处理它。以上是关于如何在 Electron 上请求 MIDI 设备权限?的主要内容,如果未能解决你的问题,请参考以下文章