Soundpool vs Mediaplayer 用于播放多种音效

Posted

技术标签:

【中文标题】Soundpool vs Mediaplayer 用于播放多种音效【英文标题】:Soundpool vs Mediaplayer for playing multiple sound effects 【发布时间】:2016-05-26 08:08:59 【问题描述】:

我正在构建一个在一个活动中播放多个短音效的应用。 有超过 80 个按钮,每个按钮播放特定的声音效果。 我搜索了 SoundPool 和 MediaPlayer,发现 SoundPool 对于短声音文件更有效。

这是我的问题,如果我应该在一项活动中加载超过 80 种音效,SoundPool 仍然是更好的选择吗?我问是因为 SoundPool 一次加载声音并重复使用它,我认为在一个活动中加载 80 个声音有点重(也许我错了。)想在这里听听专家的意见或任何建议!

提前致谢

【问题讨论】:

【参考方案1】:

它不取决于声音的数量,而是取决于它们的字节大小。每个声音都被加载到内存中,如果它们太大,你就没有足够的内存来加载它们。

我会考虑使用 AudioTrack。您实例化它,当您必须播放声音时,您可以从文件系统或资产或资源中读取它并将其添加到播放队列中。它仅适用于 PCM。

【讨论】:

以上是关于Soundpool vs Mediaplayer 用于播放多种音效的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 中的 SoundPool 到 MediaPlayer

SoundPool 和 MediaPlayer 音量对应问题

Android - MediaPlayer/SoundPool 性能?

SoundPool 和 MediaPlayer 的并发性?

android中常见声音操作方式(Ringtone,SoundPool,MediaPlayer)小结

MediaPlayer 或 SoundPool 用于多个短声音?