在Android上播放声音

时间:2013-09-06 18:39:31

标签: java android audio mp3 android-mediaplayer

例如,持续时间最短的是什么时间。 mp3?我想播放mp3中的声音并且有1秒钟。但是我需要根据现在无关紧要的一些行为更频繁地播放这种声音。问题是,如果我有一个MediaPlayer的实例与此轨道,当最后一次开始没有完成时,它无法再次播放。任何不同的方法?

2 个答案:

答案 0 :(得分:2)

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

使用SoundPool播放短音频片段 - 它还可以同时播放多个音频流。

来自Android开发者文档:

  

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

答案 1 :(得分:0)

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