无法在Android USB主机模式下将设备静音和取消静音
问题描述:
我正在使用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),这意味着不成功的。有没有人有这个想法。
感谢
答
您应该使用'claimInterface()方法来访问专门针对的UsbInterface像下面。
if (!usbDeviceConnection.claimInterface(usbInterface, true)) {
return false;
}
// your controlTransfer code
是在发送任何东西来控制转移我正在使用claimInterface。 – ravi
您是否尝试过使用索引为零的接口的claimInterface()?它意味着'usbDevice.getInterface(0)'。 – xoska74