Audio Framework: поток, стратегии, устройства

Я пытаюсь получить лучшее понимание андроидной аудиосистемы (в частности, froyo).

Я почти получил различие в потоках . AudioFlinger отображает каждый поток в «стратегию», а затем направляет стратегию на правильное «устройство» (BT, Headset, Speaker ..)

Однако я все еще стараюсь понять: 1) Как несколько приложений играют в один поток? Могут ли они просто «играть» или им приходится обрабатывать фокус (запрос, отказ и прослушивание изменений)?

2) Когда воспроизводятся несколько потоков … Каков приоритет одного потока в отношении другого? Конечно, поток в вызове имеет главный приоритет, но есть ли какие-либо «правила», чтобы понять, как все работает.

Если кто-либо, у кого больше уверенности в этом вопросе, получит какой-либо документ / ресурс для изучения. Было бы здорово.

Благодаря! Marco

Ответ на этот вопрос

Параллельный звук на Android-устройстве

может помочь вам.

Также здесь

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

Написано, как инициализировать SoundManager с количеством параллельных потоков, которые вы хотите воспроизвести.

Если вам нужно понять поведение по умолчанию, вы можете увидеть код /hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp в /hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp

Однако каждый производитель может внести изменения и отправить другой вкус