参考:2013 年的浏览器支持 Web MIDI API?
我目前正在 OS 10.9.2 上运行 Chrome 34.0.1847.116 并尝试使用 Web Midi API。启用 chrome://flags/#enable-web-midi 后,我可以通过粘贴以下代码来获取 midiAccess 对象http://www.w3.org/TR/webmidi/进入 DevTools 控制台。
var midi = null; // global MIDIAccess object
function onMIDISuccess( midiAccess ) {
console.log( "MIDI ready!" );
midi = midiAccess; // store in the global (in real usage, would probably keep in an object instance)
}
function onMIDIFailure(msg) {
console.log( "Failed to get MIDI access - " + msg );
}
navigator.requestMIDIAccess().then( onMIDISuccess, onMIDIFailure );
当我查询 midi.inputs() 和 midi.outputs() 时,返回的列表仅包含 IAC 总线设备。我的 MIDI 键盘(与 Turtle Beach USB MIDI 适配器连接)未显示。在尝试诊断问题时,到目前为止我发现了以下内容:
- 该适配器在 OS X 的音频/Midi 设置中可见,并且键盘可以与 Logic Pro 以及自制 CoreMidi 代码一起正常工作。
- 网络合成示例位于http://webaudiodemos.appspot.com/monosynth/index.html也无法找到键盘并且按下按键时不发出声音。
- 网络合成示例位于http://djazz.se/lab/synth/当我点击虚拟键时确实会发出声音。 DevTools 显示它正在使用 IAC 总线设备。
我需要做什么才能帮助 Chrome 找到非 IAC MIDI 设备?
开发人员 cw 对该问题的回答(链接如下)也解释了该问题。必须重新启动浏览器才能检测新连接的设备(即使已启用 web-midi)。这样做导致我的适配器被检测到并可用作输入设备
检测 Web MIDI API 中是否连接了 MIDI 接口
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)