1

如果通过以下方式请求访问 MIDI

navigator.requestMIDIAccess({sysex: true})

用户必须在 Chrome 和 Opera 中以模式确认访问。

有没有办法在不触发模式的情况下检查用户是否已经允许访问 MIDI?

我想要这样做的原因是出于可用性原因:如果用户第一次访问单页站点,他不应该受到安全模式的欢迎,90% 的用户会出于习惯立即点击“阻止访问”。

用户应该首先阅读所有内容,然后按下按钮触发 requestMIDIAc​​cess 例程。他应该只需要这样做一次。

API 中是否有我缺少的方法,或者是否有解决方法,例如读取 chrome://settings/contentExceptions#midi-sysex 中的条目?

4

1 回答 1

0

如果您开发 MIDI 网络解决方案,我认为您的用户不会出于习惯单击“阻止访问”。这不是“标准”用户,而是工程师音乐人。

访问 MIDI 不是基本操作。使用 Sysex 访问 MIDI 是更复杂和重要的权限访问。我不希望该网站在没有接受的情况下使用 sysex 在我的 MIDI 设备中读写。

规范说:

请求 MIDI 访问应该提示用户访问 MIDI 设备,尤其是在请求系统独占访问时。在某些情况下,此权限可能已经被隐式或显式授予,这种情况下可能不会出现此提示

也许这是 Chrome 导航器中的一个参数,它自动授权这个提示问题。

似乎您只能通过 Chrome 导航器上的设置位置来响应您的响应。根据域名你可以自动接受这个带有声明域站点的 MIDI 授权,我认为......

你为什么不测试 MIDIAc​​cess 对象的存在?如果存在 MIDIAc​​cess 对象,则您有已经接受授权 MIDI sysex 的用户。

于 2016-09-15T21:51:14.250 回答