是否可以通过适用于 Android 4.3 的 openSL ES API 获取可用的音频端点(听筒、扬声器、有线耳机、蓝牙耳机)?
还是所有这些东西都是在 Java 级别完成的?
目前的情况是我已经实现了一个 openSL ES 音频驱动程序。驱动程序除了从默认麦克风接收麦克风数据包并将扬声器数据包传送到默认扬声器端点之外什么都不做。
如果可能的话,我想在我的代码中创建几个额外的函数。一个查询端点,另一个设置端点。
是否可以通过适用于 Android 4.3 的 openSL ES API 获取可用的音频端点(听筒、扬声器、有线耳机、蓝牙耳机)?
您可以通过使用不同的音频流类型以及使用一些AudioManager方法(如setBluetoothScoOn
和setSpeakerphoneOn
)来提供有关如何路由音频的提示。但最终由 OEM 决定如何在任何给定情况下路由音频。
还是所有这些东西都是在 Java 级别完成的?
路由策略在本机级别实现。您在哪里找到该代码取决于您使用的平台,但在高通的许多平台上,您可以在hardware/qcom/audio/alsa_sound/下找到它。