0

例如 mp3 的最短持续时间是多少?我想播放 mp3 格式的 1 秒声音。但是,我需要根据一些现在无关紧要的行为更频繁地播放这种声音。问题是,如果我有此曲目的一个实例,MediaPlayer则在最后一次启动未完成时无法再次播放。有什么不同的方法吗?

4

2 回答 2

2

MediaPlayer 通常用于播放较长的音频流(例如音乐)。

使用SoundPool播放短音频剪辑 - 它还能够一次播放多个音频流。

来自 Android 开发者文档:

除了低延迟播放之外,SoundPool 还可以管理一次渲染的音频流的数量。构造 SoundPool 对象时,maxStreams 参数设置可以从该单个 SoundPool 一次播放的最大流数。SoundPool 跟踪活动流的数量。如果超过最大流数,SoundPool 将首先根据优先级自动停止先前播放的流,然后根据该优先级内的年龄。限制最大流数有助于限制 CPU 负载并降低音频混合影响视觉或 UI 性能的可能性。

于 2013-09-06T22:01:45.593 回答
0

一个想法是尝试在播放声音的函数的开头使用 MediaPlayer.stop()。这样,应用程序将停止正在播放的声音,然后立即重新启动。

于 2013-09-06T19:46:54.837 回答