我创建了一个应用程序,涉及从原始播放约500个ogg文件(每个文件大约20到30kb),在需要时触发声音。我正在使用声音池。如果我将超过475 ogg文件的声音添加到原始文件夹。当声音加载到声音池加载器时,应用程序死亡。给出堆错误。有没有其他服务其他媒体播放器或声音池???
声音池是否有加载声音的限制?
让我知道!
谢谢!
答案 0 :(得分:0)
对于寻找此问题的其他人,
尝试使用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
}
}