gpt4 book ai didi

Android - 如何知道要使用哪个 USB 接口(interface)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:37 26 4
gpt4 key购买 nike

目标是将吉他连接到支持 USB 主机的 Android 设备,对信号进行一些处理并通过设备播放。

问题是我找不到太多关于它的文档。显示的设备可以包含6个接口(interface)。

但是,在我看到的所有例子中,总是使用第一个接口(interface)..

UsbInterface intf = device.getInterface(0);

我的设备包含 6 个接口(interface),但第一个接口(interface),即 getInterface(0) 没有端点。 3/6 没有端点,但其他 3 个都有 1 个端点。

我读到您需要找到正确的接口(interface)和端点。就我而言,我只希望 IN 端点接收数据。

如有任何建议,我们将不胜感激。

干杯

最佳答案

这就是我追根究底的方式。

最后一个界面,我相信就是我要找的那个。

  • 它的方向值为 USB_DIR_IN (3)
  • 它有一个端点类型值 USB_ENDPOINT_XFER_ISOC (1),表示我正在寻找的常规等时连接

    // Cycle through interfaces and print out endpoint info
    StringBuilder builder = new StringBuilder();

    for (int i=0; i<device.getInterfaceCount(); i++)
    {
    String epDirString = "No endpoints";
    String epTypeString = "No endpoints";

    if (device.getInterface(i).getEndpointCount() > 0)
    {
    epDirString = String.valueOf(device.getInterface(i).getEndpoint(0).getDirection());
    epTypeString = String.valueOf(device.getInterface(i).getEndpoint(0).getType());
    }

    builder.append("Int. " + i + " EP count: " + device.getInterface(i).getEndpointCount() +
    " || EP direction: " + epDirString + " || EP type: " + epTypeString + "\n");
    }

    // Show results in a dialog
    Builder dBuilder = new AlertDialog.Builder(USBActivity.this);
    dBuilder.setMessage(builder.toString()).show();

关于Android - 如何知道要使用哪个 USB 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963842/

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