soundpool无法加载样本(null)

时间:2016-10-18 22:56:03

标签: android android-sound

我正在开发游戏,当我想加载一些声音时,我收到此错误“soundpool无法加载样本(null)" (我在logcat中看到它并没有抛出任何异常)。

我用Google搜索但无法找到任何内容。

有什么建议吗?感谢您的关注。

这是我的代码:

        SoundPool soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
        ObjSound = soundPool.load(context, R.raw.objs, 1);

2 个答案:

答案 0 :(得分:1)

因此问题的根源可能是,并且应该按顺序丢弃:

  1. 文件不存在。
  2. 该文件存在,但由于某种原因无法读取。
  3. 文件在那里,它是可读的,但它已损坏或不是音频文件。
  4. 文件在那里,它是可读的,它是一个没有损坏的音频文件,但SoundPool不喜欢它。
  5. 有时高频率的音频会变坏。尝试频率较低的一个

答案 1 :(得分:0)

问题是因为内存中的初始化和加载错误。 我是为我的所有对象做了那段代码(我有5个对象有9个相同的声音,所以soundPool.load重复了45次!)虽然这些声音不是很高的尺寸,不应该得到内存问题。

我仍然不知道问题的根源。

但最后我通过定义soundPool和所有ObjSound 静态来解决这个问题,并在游戏开始时将init加载一次并在项目中使用它们