谁在 android 中选择 AUDIO_DEVICE_OUT_SPEAKER 常量(在什么条件下)?
Who selects AUDIO_DEVICE_OUT_SPEAKER constant in android (on what conditions)?
我正在创建新的应用程序,我将通过它发送音频数据,但我想要一些特定的混音器控件用于此数据传输。
所以我想添加新的设备常量,比如 AUDIO_DEVICE_OUT_SPEAKER
(AUDIO_DEVICE_OUT_NEW) 并使此设备保持不变以获得 selected.
(创建上面的新常量是为了区别于其他应用)
所以我会在 HAL 中使用这个变量并且 select 新用例
已创建。
对于上面我需要找出谁 selects AUDIO_DEVICE_OUT_SPEAKER(或类似的常量)和
根据什么条件这个常量得到 selected,这样我就可以
为我新创建的常量(AUDIO_DEVICE_OUT_NEW)复制相同的内容。
我在 google 中搜索过,但可用的信息非常少。
任何 suggestions/help 将不胜感激。
我正在使用 kitkat 源代码。
音频 HAL 可能因平台而异,在某些情况下因 OEM 不同(我曾经在索尼从事音频 HAL 和框架的工作,我们进行了一些自定义以使路由与早期产品一致,并添加索尼自己的音频效果等)。
无论如何,音频 HAL 通常会包含一个 策略管理器,它根据当前用例(语音通话、音乐播放、通知播放)做出高级路由决策)、您附加的附件等。在我使用过的音频策略管理器的所有实现中,都有一个 getDeviceForStrategy
方法来执行此选择。 Here's one implementation 这种方法,您可能会在某些基于 Qualcomm 的设备上找到这种方法(可能有一些自定义设置)。
请注意,简单地添加一个新的 AUDIO_DEVICE_OUT_
常量并在某些条件下在策略管理器中选择它不会对您有任何好处。您还必须在 HAL 中进行其他更改,以将您的新设备映射到一组参数,从而在硬件级别启用适当的声音路径。有关更多信息,请参阅 my earlier answer 关于创建替代声音路径的内容。
我正在创建新的应用程序,我将通过它发送音频数据,但我想要一些特定的混音器控件用于此数据传输。
所以我想添加新的设备常量,比如 AUDIO_DEVICE_OUT_SPEAKER (AUDIO_DEVICE_OUT_NEW) 并使此设备保持不变以获得 selected.
(创建上面的新常量是为了区别于其他应用)
所以我会在 HAL 中使用这个变量并且 select 新用例 已创建。
对于上面我需要找出谁 selects AUDIO_DEVICE_OUT_SPEAKER(或类似的常量)和 根据什么条件这个常量得到 selected,这样我就可以 为我新创建的常量(AUDIO_DEVICE_OUT_NEW)复制相同的内容。
我在 google 中搜索过,但可用的信息非常少。 任何 suggestions/help 将不胜感激。
我正在使用 kitkat 源代码。
音频 HAL 可能因平台而异,在某些情况下因 OEM 不同(我曾经在索尼从事音频 HAL 和框架的工作,我们进行了一些自定义以使路由与早期产品一致,并添加索尼自己的音频效果等)。
无论如何,音频 HAL 通常会包含一个 策略管理器,它根据当前用例(语音通话、音乐播放、通知播放)做出高级路由决策)、您附加的附件等。在我使用过的音频策略管理器的所有实现中,都有一个 getDeviceForStrategy
方法来执行此选择。 Here's one implementation 这种方法,您可能会在某些基于 Qualcomm 的设备上找到这种方法(可能有一些自定义设置)。
请注意,简单地添加一个新的 AUDIO_DEVICE_OUT_
常量并在某些条件下在策略管理器中选择它不会对您有任何好处。您还必须在 HAL 中进行其他更改,以将您的新设备映射到一组参数,从而在硬件级别启用适当的声音路径。有关更多信息,请参阅 my earlier answer 关于创建替代声音路径的内容。