是否可以通过适用于Android 4.3的openSL ES API获得可用的音频端点(耳机,扬声器,有线耳机,蓝牙耳机)?
或者在Java级别完成所有这些工作?
目前的情况是我已经实现了一个openSL ES音频驱动程序。驱动程序除了从默认麦克风接收麦克风数据包并将扬声器数据包传送到默认扬声器端点外什么都不做。
如果可能的话,我想在我的代码中创建一些额外的函数。一个用于查询端点,另一个用于设置端点。
答案 0 :(得分:1)
是否可以通过适用于Android 4.3的openSL ES API获得可用的音频端点(耳机,扬声器,有线耳机,蓝牙耳机)?
您可以使用不同的audio stream types和一些AudioManager方法(例如setBluetoothScoOn
和{{1})提供有关您希望如何路由音频的提示})。但最终由OEM来决定如何在任何给定情况下路由音频。
或者在Java级别完成所有这些工作?
路由策略在本机级别实现。如果您发现代码取决于您正在使用的平台,但在Qualcomm的许多平台上,您都可以在hardware/qcom/audio/alsa_sound/下找到它。