Я использую OpenSL ES, и моему андроид-приложению нужно несколько каналов, поэтому я создаю несколько объектов проигрывателя (плюс один объект проигрывателя для каждого из mp3-файлов, которые мне нужно воспроизвести).Это прекрасно работает для одного приложения, но когда я запустил другое приложение, которое я создал, оно не сможет воспроизвести любой звук и файлы журнала, скажем
E/AudioFlinger( 119): no more track names available
E/AudioTrack( 6884): AudioFlinger could not create track, status: -12
E/libOpenSLES( 6884): AudioTrack::initCheck status 4294967284
W/libOpenSLES( 6884): Leaving Object::Realize (SL_RESULT_CONTENT_UNSUPPORTED)
Хорошо, я прочитал, что это означает, что яиз свободных объектов, и я должен освободить некоторые объекты.
Однако, согласно http://mobilepearls.com/labs/native-android-api/opensles/
OpenSL ES для Android поддерживает один движок для приложения и до 32 объектов
Так это 32 объекта на приложение или это глобально 32 объекта?Если это так, я вынужден уничтожать () (и воссоздавать) объекты Player каждый раз, когда мое приложение становится неактивным (onPause / onStop)?