参考:2013 年带有 Web MIDI API 的浏览器?
我目前在 OS 10.9.2 上运行 Chrome 34.0.1847.116 并尝试使用 Web Midi API。启用 chrome://flags/#enable-web-midi 后,我可以通过将以下代码从http://www.w3.org/TR/webmidi/粘贴到 DevTools 控制台来获取 midiAccess 对象。
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 设备?