例如,持续时间最短的是什么时间。 mp3?我想播放mp3中的声音并且有1秒钟。但是我需要根据现在无关紧要的一些行为更频繁地播放这种声音。问题是,如果我有一个MediaPlayer
的实例与此轨道,当最后一次开始没有完成时,它无法再次播放。任何不同的方法?
答案 0 :(得分:2)
MediaPlayer通常用于播放更长的音频流(例如音乐)。
使用SoundPool播放短音频片段 - 它还可以同时播放多个音频流。
除了低延迟播放,SoundPool还可以管理 一次呈现的音频流数量。当SoundPool 构造对象后,maxStreams参数设置最大值 从这个单一的一次可以播放的流的数量 的Soundpool。 SoundPool跟踪活动流的数量。如果 超出最大数量的流,SoundPool将自动进行 首先根据优先级停止先前播放的流,然后按 年龄优先。限制最大流数有助于 限制CPU负载并降低音频混合的可能性 影响视觉效果或UI性能。
答案 1 :(得分:0)
一个想法是尝试在播放声音的函数开头使用MediaPlayer.stop()。这样,应用程序将停止正在播放的声音,然后立即重新开始播放。