0

我创建了一个应用程序,它涉及从原始播放大约 500 个 ogg 文件(每个文件大约 20 到 30kb),声音在需要时被触发。我正在使用声音池。如果我向原始文件夹添加超过 475 个 ogg 文件的声音。将声音加载到声音池加载程序时,应用程序会死机。给出堆错误。还有其他媒体播放器或声音池的其他服务吗???

声音池是否有加载声音的限制?

让我知道 !

谢谢!

4

1 回答 1

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
    }
}
于 2017-05-07T08:17:40.307 回答