2015-04-07 106 views
0

我正在使用Android USB主機模式。我有一個USB設備(麥克風)通過OTG電纜連接到主機模式下的Android手機。 根據開發者網站,我遵循了建立連接和發送命令的步驟。 USB Host無法在Android USB主機模式下將設備靜音和取消靜音

下面是我用來使用ControlTransfer靜音和取消靜音設備(麥克風)的命令,但我無法靜音和取消靜音設備。 我使用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

是在發送任何東西來控制轉移我正在使用claimInterface。 – ravi

+0

您是否嘗試過使用索引爲零的接口的claimInterface()?它意味着'usbDevice.getInterface(0)'。 – xoska74

相關問題