2012-04-19 113 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