2012-04-19 78 views
1

我想在主机模式下使用我的Galaxy Nexus上的USB音频类设备。我想使用芯片组的音频和GPIO/I2C功能。我的理解是,Android内核将而不是支持音频通过USB(没有扎根电话)。Android上的USB音频类设备

但是,根据this post,看起来我可以为任意USB设备编写软驱动器,只要我可以通过它的VID和PID来获取。也许我甚至可以使用同步端点从我的应用程序播放一些音频。这可能吗?太糟糕同步端点当前不受支持。

当我连接我的设备并使用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 

回答

2

http://www.usb.org/developers/devclass_docs/audio10.pdf(4.6节),USB音频类设备使用同步端点来传输实际音频数据。

http://developer.android.com/reference/android/hardware/usb/UsbEndpoint.html,Android的USB主机API目前不支持同步端点。

+0

我明白了。谢谢..对于其他问题的任何想法(在dmesg输出中“不支持”和“无法枚举”)? – 2012-04-19 16:13:25

+0

不是手。我会尝试在内核源代码中查找这些字符串。 – JesusFreke 2012-04-19 17:53:22

+0

看起来确实是一个硬件问题。感谢音频提示。 – 2012-05-24 19:59:59