在 Android Chrome 上使用 Web MIDI API 52

Using Web MIDI API on Android Chrome 52

我已经在 Mac 笔记本电脑上成功使用 Web MIDI API 和 Chrome 52 - 例如识别连接的 MIDI 乐器。但是当我在我的 Samsung Galaxy S5 运行 Android 5.0.1 中使用 Chrome 52 时,Web MIDI API 似乎无法工作或无法识别连接的乐器。例如,我曾尝试过 Web MIDI API 在线测试 this one,但未成功(所有这些都在笔记本电脑上运行良好)。

本机应用程序确实可以识别我的 MIDI 设备,只是在我的 Galaxy 中找到 phone - 它们通过有效的 USB OTG 电缆连接。但是 Chrome(或 Opera)不是。任何帮助将不胜感激。我试过 Chrome Dev 和 Chrome Beta,结果相同。我想知道问题是 phone,还是 Android 版本?

更新:我也尝试过 Android 不同品牌的平板电脑和 Android 6.0 (Marshmallow)。结果是相同的:navigator.requestMIDIAccess() 成功(它按预期调用 midiAccess 对象的 success 回调),但是 midiAccess 没有输入或输出,即使设备已连接。使用本机应用程序时,同一台平板电脑会识别该设备。

更新 2:成功!问题是我用来测试的电子钢琴。出于某种原因,我的笔记本电脑 Chrome 确实找到了我的雅马哈钢琴,但 Android Chrome 没有(它们与 chrome 的版本相同)。我换了另一个键盘(较新的 Roland 钢琴),现在 Android Chrome 和 MacOS Chrome 都检测到了它。

您必须测试您的设备以了解正在读取 USB 主机。您可以使用这样的应用程序进行测试:app test USB Host

如果您的设备没有准备好 USB 主机,您可以使用根模式激活它。

问题是我用来测试的电子琴。出于某种原因,我的笔记本电脑 Chrome 确实找到了我的雅马哈钢琴,但 Android Chrome 没有(它们与 chrome 的版本相同)。我使用了一个不同的、更新的键盘(一个更新的 Roland 钢琴),现在 Android Chrome 和 MacOS Chrome 现在都检测到它了。