检查是否已授予对Web MIDI API的访问权限?

时间:2016-06-02 11:11:45

标签: javascript google-chrome web-midi

如果通过

请求访问MIDI
navigator.requestMIDIAccess({sysex: true})

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

有没有办法检查用户是否已经允许访问MIDI而不触发模态?

我想要的原因是出于可用性原因:如果用户第一次访问单页网站时不应该使用安全模式,那么90%会立即点击"阻止访问"出于习惯。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

规范说:

  

请求MIDI访问应该提示用户访问MIDI   设备,特别是在请求系统独占访问时。在一些   方案,此权限可能已经隐式或   明确授予,在这种情况下,此提示可能不会出现

这可能是Chrome浏览器中的一个参数,它会自动授权此提示问题。

您似乎只依靠Chrome导航器上的设置位置获得回复。根据域名,你可以自动接受这个MIDI授权与delcaration域名网站,我认为......

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