2015-04-07 3 views
0

Я работаю над режимом Android Host Host. У меня есть USB-устройство (Микрофон), подключенное через кабель OTG к телефону Android в режиме хоста. Основываясь на сайте разработчика, я выполнил шаги для установления соединений и отправки команд. USB HostНевозможно отключить и отключить устройство в режиме Android USB Host

Ниже приведены команды, которые я использую для отключения звука и включения устройства (микрофона) с помощью ControlTransfer, но я не могу отключить и включить звук устройства. Am использует 0x01 для отключения звука устройства и 0x00 для включения звука.

   byte[] buf = new byte[1]; 
       buf[0]= 0x01; //for mute 

       int usbResult = usbDeviceConnection.controlTransfer(
         0x21, // requestType 
         0x01, // request ID for this transaction 
         0x0100, // value 
         0x0600, // index 
         buf, // buffer 
         buf.length, // length 
         0); // timeout 

метод ControlTransfer является returing -1 значение в качестве результата (usbresult), что означает безуспешными. Кто-нибудь имеет представление об этом.

Благодаря

ответ

0

Вы должны использовать «claimInterface) (» метод для доступа исключительно для UsbInterface, как показано ниже.

if (!usbDeviceConnection.claimInterface(usbInterface, true)) { 
     return false; 
    } 

    // your controlTransfer code 
+0

yes перед отправкой что-либо для управления передачей я использую претензии. – ravi

+0

Вы когда-нибудь пробовали претензиюInterface() с интерфейсом, который находится в нулевом индексе. Это означает 'usbDevice.getInterface (0)'. – xoska74

Смежные вопросы