在Android上的USB设备之间切换音频

时间:2018-06-04 17:52:08

标签: android audio usb

我的Android设备上连接了两个USB耳机/扬声器。我可以列出:

UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
Map<String, UsbDevice> deviceMap = filterAudioOnly(usbManager.getDeviceList());

我看不到专门为Android选择UsbDevice的方法。所以我试图有效地禁用我不想使用的设备:

UsbDeviceConnection connection = usbManager.openDevice(device);
for (int i = 0; i < device.getInterfaceCount(); i++) {
    UsbInterface intf = device.getInterface(i);
    connection.claimInterface(intf, true);
}

如果我这样做的话,另一个应用正在播放音乐,那么音乐就会从我声称的设备中消失,并继续通过我没有的设备:很棒。但是,通过以下方式释放界面:

for (UsbInterface intf: interfaces) {
    connection.releaseInterface(intf);
}
connection.close();

不会通过该设备重新启用音频。

我也尝试过只定位UsbDevice接口的输出端点,但这种做法更不成功。

还有什么我应该尝试的吗?

0 个答案:

没有答案