Android - 如何获取 AudioManager / AudioSystem 参数列表

2023-12-28

AudioManager has a 设置参数 http://developer.android.com/reference/android/media/AudioManager.html#setParameters(java.lang.String)接受字符串表示形式的键值对的方法(“parameter_name=parameter_value”)。
在内部,它调用nativeAudioSystem.setParameters.
获取参数值的唯一方法是如果您知道其名称,则可以通过调用AudioManager.getParameters方法调用“AudioSystem”中相应的本机方法。

有没有办法(使用反射或其他技术)来获取支持的参数列表(当然结果将取决于调用它的设备,因为它是特定于平台的)?


经过简短的调查后,我可以猜测没有可靠的方法来枚举音频设备参数的所有可用键。 Android 标头定义了一小组通用参数,所有设备可能都应该支持这些参数。你可以找到实际的钥匙here https://android.googlesource.com/platform/hardware/libhardware/+/jb-mr0-release/include/hardware/audio.h(寻找AUDIO_PARAMETER_*宏)。和界面 https://android.googlesource.com/platform/hardware/libhardware/+/jb-mr0-release/include/hardware/audio.h#323到实际设备实现struct audio_hw_device(由供应商实现)只有get_parameters()/set_parameters()并且没有枚举入口点。因此,无法请求支持的参数键的完整列表。

最重要的是:

  1. 我们有一小组预定义的通用参数
  2. 为了处理特定于供应商的参数 - 我们应该从供应商文档或特定设备的硬件相关源中获取额外密钥的列表。

欢迎任何纠正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 如何获取 AudioManager / AudioSystem 参数列表 的相关文章

随机推荐