是的,Android 提供了用于开发耳机应用的开放 API。我们可以使用 MediaRouter API 来检测设备上的耳机,并使用 AudioManager API 控制音频输入和输出。以下是示例代码:
// 检测耳机是否连接 MediaRouter mediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE); MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_AUDIO); if (route != null) { if (route.getName().equals("Headphones")) { // 耳机已连接 } else { // 耳机未连接 } }
// 控制音频输出至耳机 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION); audioManager.startBluetoothSco(); audioManager.setBluetoothScoOn(true); audioManager.setSpeakerphoneOn(false);
// 控制音频输入来源 audioManager.setMicrophoneMute(false); audioManager.setBluetoothScoOn(true); audioManager.startBluetoothSco();
上一篇:AndroidEntryPoint与AbstractComposeView不兼容
下一篇:androiderror:IllegalStateException:Onlyfullscreenopaqueactivitiescanrequestorientation