Android中声音池的大小限制是多少?

Android中声音池的大小限制是多少?,android,Android,Android中的SoundPool是否有大小限制?在文章中,它说使用SoundPool播放的声音不应该超过1MB 我需要同时播放多个声音,有时可能会超过1MB的限制。我可以依靠SoundPool吗?由于我找不到关于SoundPool的深入指南,请给出一个明确的答案:)SoundPool非常有限,是的,它有硬编码缓冲区大小限制,如果超过此限制,您将在logcat中得到错误的沉默。而且它是用本机cpp编写的,很难调试发生了什么。不同版本的Android都有特定的问题 我已经写了SoundPoolC

Android中的
SoundPool
是否有大小限制?在文章中,它说使用SoundPool播放的声音不应该超过1MB


我需要同时播放多个声音,有时可能会超过1MB的限制。我可以依靠SoundPool吗?由于我找不到关于SoundPool的深入指南,请给出一个明确的答案:)

SoundPool非常有限,是的,它有硬编码缓冲区大小限制,如果超过此限制,您将在logcat中得到错误的沉默。而且它是用本机cpp编写的,很难调试发生了什么。不同版本的Android都有特定的问题

我已经写了SoundPoolCompat,它在引擎盖下使用了音轨。您可以传递自定义的
bufferSize
,该缓冲区内的所有数据都将加载到内存中,并像SoundPool一样以较小的延迟播放。超过
bufferSize
的所有数据都将按需加载(这会增加延迟,类似于MediaPlayer)。 Api与SoundPool非常相似,它还添加了从Uri加载声音(例如gdrive)。还有playOnce方法,文件播放后所有资源都会被卸载。 我在我的应用程序中使用它,而不是SoundPool和MediaPlayer

implementation 'com.olekdia:sound-pool:3.0.2'

如果您有这些顾虑,为什么不使用MediaPlayer?好吧,这里类似问题的解决方案指向使用SoundPool,而且SoundPool的一些方法似乎非常方便。1 MB的限制是指单个文件还是累积文件?是的,这也是我需要澄清的一件事:)。