【发布时间】:2013-09-06 18:39:31
【问题描述】:
例如,最短的持续时间是多少? mp3?我想播放 mp3 格式的 1 秒声音。但是,我需要根据一些现在无关紧要的行为更频繁地播放这种声音。问题是,如果我有一个MediaPlayer 的实例与此曲目,则在最后一次启动未完成时无法再次播放。有什么不同的方法吗?
【问题讨论】:
标签: java android audio mp3 android-mediaplayer
例如,最短的持续时间是多少? mp3?我想播放 mp3 格式的 1 秒声音。但是,我需要根据一些现在无关紧要的行为更频繁地播放这种声音。问题是,如果我有一个MediaPlayer 的实例与此曲目,则在最后一次启动未完成时无法再次播放。有什么不同的方法吗?
【问题讨论】:
标签: java android audio mp3 android-mediaplayer
MediaPlayer 通常用于播放较长的音频流(例如音乐)。
使用SoundPool 播放短音频片段 - 它还能够同时播放多个音频流。
除了低延迟播放,SoundPool 还可以管理 一次渲染的音频流的数量。当 SoundPool 构造对象时,maxStreams 参数设置最大值 此单曲一次可播放的流数 声池。 SoundPool 跟踪活动流的数量。如果 超过最大流数,SoundPool 会自动 首先根据优先级停止先前播放的流,然后通过 该优先级内的年龄。限制最大流数有助于 限制 CPU 负载并降低音频混合的可能性 影响视觉效果或 UI 性能。
【讨论】:
一个想法是尝试在播放声音的函数的开头使用 MediaPlayer.stop()。这样,应用程序将停止正在播放的声音,然后立即重新启动。
【讨论】: