最近在android系统上,需要对接4款协议一样的效果器,其中2台可以用,但是另外两台一直不行! 后面才发现是open device那边写的有问题,现将我打开usb设备的函数分享给各位,同时也给自己做个笔记
/*****************************************************************************/
static libusb_device_handle * Open_Usb_Device(unsigned short vid, unsigned short pid)
{
libusb_context *ctx = NULL;
libusb_device **devs;
ssize_t cnt;
struct libusb_device_handle *handle = NULL;
int r = 0;
// __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, "Open_Usb_Device start libusb_init");
r = libusb_init(&ctx);//initiallize a library session
if (r < 0)
{
//printf("fhp libusb_init %d :%s \n", r, libusb_strerror((enum libusb_error)r));//fhp 2020-03-11
//__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, "Open_Usb_Device start libusb_init error");
return NULL;
}
libusb_set_debug(ctx, LIBUSB_LOG_LEVEL_INFO);
// __android_log_print(ANDROID_LOG_DEBUG, LOG