gpt4 book ai didi

android - 如何在不兼容的设备上使用 Android MIDI USB 堆栈

转载 作者:行者123 更新时间:2023-12-01 20:11:05 26 4
gpt4 key购买 nike

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

不兼容的设备不提供“音频设备”类型的 USB 接口(interface)(这是符合 midi 类要求的),而是提供许多代表 midi 端口的“供应商特定”接口(interface)。因此,android midi 堆栈(例如使用示例 MidiScope)看不到该设备。

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

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

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

最佳答案

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

因此,为了能够在 Android 中访问您的设备,您必须添加对 Linux USB MIDI driver 的支持,然后等待新的内核版本出现在您的 Android 设备上。

关于android - 如何在不兼容的设备上使用 Android MIDI USB 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58966399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com