1分析已有代码项目html
Android从USB声卡录制高质量音频-----使用libusb读取USB声卡数据java
github 项目:usbaudio-android-demoandroid
usb声卡取数据项目也是参考的usbaudio-android-demogit
其余参考资料 :github
Android无驱usb音频实现
usbaudio-android-demo做者在stackoverflow上的回答 capturing audio using libusb in Android
usb协会uac工具书 USB AUDIO Device CLASS工具
使用jni,用java类usbAudio类调用native库,类结构及libusb调用流程以下图atom
对于原做者:.net
1.alternatesetting3d
一个接口能够有多种setting,即所谓的alternatesetting,好比在打印机驱动程序里,不一样的setting能够代表使用不一样的通讯协议,又好比在声音设备驱动中setting能够决定不一样的音频格式.那么我做为usb设备驱动程序我如何知道这些呢?首先,对于任何一个interface来讲,usb spec规定了默认的setting是setting zero,即0号设置是默认设置,而若是一个interface能够有多种setting,那么每个setting将对应一个interface描述符,换言之,即使你只有一个interface,可是因为你可能有两种setting,那么你就有两个interface描述符,而它们对应于同一个interface编号,或者说咱们知道接口描述符里面有一个成员,bInterfaceNumber和一个bAlternateSetting,就是对于这种状况,两个interface描述符将具备相同的bInterfaceNumber,而不相同的是bAlternateSetting,另外一方面,由于不一样的setting彻底有可能致使须要不一样的端点,因此也将有不一样的端点描述符.htm