【问题标题】:Playing sound on Android在 Android 上播放声音
【发布时间】:2013-09-06 18:39:31
【问题描述】:

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

【问题讨论】:

    标签: java android audio mp3 android-mediaplayer


    【解决方案1】:

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

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

    来自 Android 开发者文档:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多