首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓系统中SoundPool的大小限制是多少?

安卓系统中SoundPool的大小限制是多少?
EN

Stack Overflow用户
提问于 2015-07-24 13:10:05
回答 1查看 1.1K关注 0票数 3

安卓系统中的SoundPool有大小限制吗?在文章中,它指出使用SoundPool播放的声音不应超过1MB的

我需要同时播放多个声音,有时,我可能会超过1MB的限制。在这方面,我可以依赖SoundPool吗?由于我找不到关于SoundPool的深度指南,所以我们将非常感谢给出一个清晰的答案:)

EN

回答 1

Stack Overflow用户

发布于 2019-11-11 12:17:55

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

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

代码语言:javascript
运行
复制
implementation 'com.olekdia:sound-pool:3.0.2'

https://gitlab.com/olekdia/common/libraries/sound-pool

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31611411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档