如何在 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 设备权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Pygame 从 MIDI 设备获取输入?

如何强制 MIDI 设备报告控制状态?

使用rcedit修改exe文件信息(图标版本版权等)

使用rcedit修改exe文件信息(图标版本版权等)

Java 中的 Midi 设备更新列表

Midi 控制器设备名称