gpt4 book ai didi

android - 使用 OpenSL ES 时为 "No more track names available"

转载 作者:行者123 更新时间:2023-11-29 02:06:35 24 4
gpt4 key购买 nike

我正在使用 OpenSL ES,我的 Android 应用程序需要多个 channel ,因此我创建了多个播放器对象(为我需要播放的每个 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 for Android supports a single engine per application, and up to 32 objects

那么是每个应用程序 32 个对象,还是全局 32 个对象?如果是这样,每次我的应用程序变为非 Activity 状态(onPause/onStop)时,我都必须 Destroy()(并重新创建)玩家对象吗?

最佳答案

似乎每个设备有 32 个对象。所以最好在不需要的时候Destroy (onStop, onDestroy)

关于android - 使用 OpenSL ES 时为 "No more track names available",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com