2
我正在使用OpenSL ES,並且我的Android應用程序需要多個頻道,因此我創建了多個播放器對象(爲每個MP3文件添加一個播放器對象)需要玩)。這對於一個應用程序工作正常,但是當我跑我創建了另一個應用程序,它將無法播放任何聲音文件和日誌文件說使用OpenSL ES時「沒有更多曲目名稱可用」
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個對象?如果是這樣,每當我的應用程序變爲非活動狀態時(onPause/onStop),我都被迫去銷燬()(並重新創建)Player對象?