繁体   English   中英

最好在Android中选择SoundPool或MediaPlayer?

[英]Better to choose SoundPool or MediaPlayer in Android?

我目前正在尝试制作一个应用程序,其中有按钮可以触发音频文件,但这些音频文件是由用户通过文件浏览器活动选择的。 我听说MediaPlayer有延迟等问题,但是SoundPool有内存限制吗?

此外,我是否可以让用户通过从文件浏览器(选定项目)返回一个字符串来设置音频文件,并将其用于音频API的路径,它是哪一个?

如果您尝试播放已加载的文件, SoundPool会更快。 因为它需要更多的时间来加载文件和文件应该更小,以获得更好的性能。

但在您的情况下,似乎用户选择从FileBrowser播放文件,文件大小将不同,因此加载时间。 转而使用MediaPlayer

SoundPoolMediaPlayer更快,但它有自己的局限性。

SoundPool用于您可以在onClick()方法中使用的小声音,这样每次用户点击任何地方都可以发出咔嗒声,因为这些文件预先加载到内存中,不会让CPU受损因为它的行为,这就是SoundPoolMediaPlayer更快的原因。 此外,它还可以管理一次呈现的音频流的数量。

MediaPlayer用于这样的情况,其中用户可以访问播放,暂停,搜索,开始等播放选项。此外,通常对于长长度音频MediaPlayer是好的,因为您无法事先在内存中加载长长的音频。 您还可以使用MediaPlayer通过互联网播放音频(如果您计划在将来的版本中使用它,那将非常有用)。

在你的情况下,允许用户从文件浏览器活动播放音频,我建议你去MediaPlayer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM