我创建了一个应用程序,它涉及从原始播放大约 500 个 ogg 文件(每个文件大约 20 到 30kb),声音在需要时被触发。我正在使用声音池。如果我向原始文件夹添加超过 475 个 ogg 文件的声音。将声音加载到声音池加载程序时,应用程序会死机。给出堆错误。还有其他媒体播放器或声音池的其他服务吗???
声音池是否有加载声音的限制?
让我知道 !
谢谢!
对于寻找这个问题的更多人,
尝试使用asynctask加载声音。
使用 SoundPool 加载声音的示例:
private class LoadSound extends AsyncTask<Void, Integer, String> {
protected void onPreExecute() {
// something before starting to load sounds
}
protected String doInBackground(Void... arg0) {
// actually loading sounds
for (int i = 0; i < sounds.length; i++) {
soundPoolId[i] = soundPool.load(context, soundResId, 1);
}
return "You are at PostExecute";
}
protected void onProgressUpdate(Integer... a) {
// update ui like loaded # sounds
}
protected void onPostExecute(String result) {
// something after loading all sounds
}
}