繁体   English   中英

如何使用 android midi USB 堆栈与不兼容的设备

[英]How to use android midi USB stack with non-compliant devices

我有一个有效的 android 应用程序,它使用专有的 java midi 实现通过 USB 与不兼容的 midi 设备通信。 我现在想迁移到标准 android midi USB 堆栈,但无法确定如何添加/扩展必要的测试以允许将不符合要求的设备检测为 midi 设备。

不兼容的设备不提供“音频设备”类型的 USB 接口 - 这是 midi class 兼容所必需的 - 而是一些代表 midi 端口的“供应商特定”接口。 因此,android midi 堆栈(例如,使用示例 MidiScope)看不到设备。

USB 设备连接上的当前专有堆栈使用特定供应商连接详细信息的先验知识来确定连接确实是 midi 设备,然后使用正确的 USB 接口创建 midi 设备连接事件。

我想重现这个连接逻辑,但是使用android的midi堆栈,但是找不到传入的USB连接被确定为midi设备的位置,从而传递给android midi服务。 我已经检查了 UsbDeviceManager、UsbHostManager、UsbService、MidiService、MidiManager、MidiDeviceInfo、MidiDeviceService 等的 android 源,但看不到“midi 设备验证/过滤”发生在哪里。

如果有人能指出我如何实现目标的正确方向,我将不胜感激。

Android 的UsbAlsaManager.java只使用 Linux MIDI 设备。

So to be able to access your device in Android, you have to add support to the Linux USB MIDI driver , and then wait until the new kernel version shows up on your Android device.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM