音频框架:流,策略,设备

时间:2011-01-19 15:57:22

标签: android audio

我正在努力更好地理解 android音频框架(特别是froyo)。

我几乎已经区分了 streams 。 AudioFlinger将每个流映射为“策略”,然后将策略路由到适当的“设备”(BT,Headset,Speaker ..)

但是我仍然很难理解: 1)多个应用程序如何在同一个流上播放?他们可以“玩”还是他们必须处理焦点(请求,放弃和倾听变化)?

2)当正在播放多个流时...一个流相对于另一个流的优先级是多少?肯定地, in-call 流具有最高优先级,但是有任何“规则”可以理解事情是如何运作的。

如果对这个问题更有信心的人有任何研究的文件/资源​​......那就太好了。

谢谢! 马可

2 个答案:

答案 0 :(得分:2)

这个问题的答案

Concurrent Sound on Android Device

可以帮到你。

此外,这里

http://www.droidnova.com/creating-sound-effects-in-android-part-1,570.html

编写了如何使用您想要播放的并发流数量来初始化SoundManager。

答案 1 :(得分:0)

如果您需要了解默认行为,可以在以下位置查看Cplusplus代码 /hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp

但是,每个供应商都可以进行更改并发布不同的风格