我正在尝试在主机模式下使用Galaxy Nexus的USB音频类设备。我想同时使用芯片组的音频和GPIO / I2C功能。我的理解是,Android内核将不通过USB支持音频(不支持手机)。
然而,基于this post,如果我可以通过其VID和PID获取它,我看起来可以为任意USB设备编写软驱动程序。也许我甚至可以使用等时端点从我的应用程序播放一些音频。这可能吗?目前不支持太差的等时端点。
当我连接设备并使用dmesg
时,我会看到device vXXXX pXXXX is not supported
。这表明了什么?
如果我的USB设备有时无法枚举(见下文)怎么办?这可能是硬件问题吗?
<6>[ 262.061309] usb 2-1: new full speed USB device number 5 using musb-hdrc
<3>[ 262.123870] hub 2-0:1.0: unable to enumerate USB device on port 1
<6>[ 262.483215] usb 2-1: new full speed USB device number 6 using musb-hdrc
<3>[ 262.631652] usb 2-1: device descriptor read/all, error -19
<3>[ 262.694183] hub 2-0:1.0: unable to enumerate USB device on port 1
<6>[ 263.053558] usb 2-1: new full speed USB device number 8 using musb-hdrc
<3>[ 268.608215] usb 2-1: device not accepting address 8, error -110
<3>[ 268.670715] hub 2-0:1.0: unable to enumerate USB device on port 1
答案 0 :(得分:2)
Per http://www.usb.org/developers/devclass_docs/audio10.pdf(第4.6节),USB音频类设备使用等时端点来传输实际的音频数据。
Per http://developer.android.com/reference/android/hardware/usb/UsbEndpoint.html,Android的USB主机api目前不支持等时端点。