当我尝试加载超过 90 到 100 种声音时,双簧管出现问题,应用程序崩溃:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 32081 (AudioTrack), pid 32003
我已经测试了只玩其中一个并且一切正常。只有当我尝试加载大量文件时它才会崩溃。为了加载所有这些,我只是用户一个 Player 数组:
std::array<std::array<std::unique_ptr<Player>, 16>,19> mSoundKit;
mSoundKit[instrument][intensity] = std::make_unique<Player>(mClapSource);
mMixer.addTrack(mSoundKit[instrument][intensity].get());
我尝试升级应用程序的 maxTracks :
constexpr uint8_t kMaxTracks = 255;
但是我现在加载超过 130-140 个声音时崩溃了
与 renderAudio 相同的崩溃:
mTracks[i]->renderAudio(mixingBuffer, numFrames);
来自 AudioReady:
mMixer.renderAudio(outputBuffer+(oboeStream->getChannelCount()*i), 1);
我做错了什么?
我必须同时加载 230 240 个声音才能播放它们。请问我可以帮忙吗?