openSL ES for Jelly Bean 4.3 是不是支持音频路由切换?
Posted
技术标签:
【中文标题】openSL ES for Jelly Bean 4.3 是不是支持音频路由切换?【英文标题】:Does openSL ES for Jelly Bean 4.3 support audio route switching?openSL ES for Jelly Bean 4.3 是否支持音频路由切换? 【发布时间】:2013-11-05 02:53:50 【问题描述】:是否可以通过适用于 android 4.3 的 openSL ES API 获取可用的音频端点(耳机、扬声器、有线耳机、蓝牙耳机)?
或者所有这些东西都是在 Java 级别完成的?
目前的情况是我已经实现了一个 openSL ES 音频驱动程序。驱动程序除了从默认麦克风接收麦克风数据包并将扬声器数据包传送到默认扬声器端点之外什么都不做。
如果可能,我想在我的代码中创建几个额外的函数。一个查询端点,另一个设置端点。
【问题讨论】:
【参考方案1】:是否可以通过适用于 Android 4.3 的 openSL ES API 获取可用的音频端点(耳机、扬声器、有线耳机、蓝牙耳机)?
您可以通过使用不同的audio stream types 和使用一些AudioManager 方法(如setBluetoothScoOn
和setSpeakerphoneOn
)来提供有关如何路由音频的提示。但最终由 OEM 决定如何在任何给定情况下路由音频。
或者所有这些东西都是在 Java 级别完成的?
路由策略在本机级别实现。您在哪里找到该代码取决于您使用的平台,但在高通的许多平台上,您可以在hardware/qcom/audio/alsa_sound/ 下找到它。
【讨论】:
以上是关于openSL ES for Jelly Bean 4.3 是不是支持音频路由切换?的主要内容,如果未能解决你的问题,请参考以下文章
Android音视频十三OpenSL ES介绍&基于OpenSL ES实现音频采集
Android音视频十三OpenSL ES介绍&基于OpenSL ES实现音频采集