gpt4 book ai didi

java - 重新启动 MediaPlayer 时出现噪音

转载 作者:行者123 更新时间:2023-11-30 03:18:24 26 4
gpt4 key购买 nike

我有一个 MediaPlayer(.wav 文件),有时需要快速连续播放。如果它已经在播放,我会重新启动它:

if (player.isPlaying()) {
player.pause();
player.seekTo(0);
}
player.start();

问题是,当 MediaPlayer 在某个随机位置中断时,最后通常会出现微小但明显的沙沙声。

我尝试过的一个解决方案是创建一个 MediaPlayer 数组,加载相同的 wav 文件,循环播放它们,从不中断,如果当前正在播放则忽略调用项目已经在播放(这种情况很少发生,而且在一般弹幕中也不会注意到未接来电)。

MediaPlayer player = players.get(current);
if (!player.isPlaying())
player.start();
if((++current) >= players.size())
current = 0;

这消除了噪音,但解决方案有点难看。有没有更好的办法?

最佳答案

噪声可能是在周期中被截断的波形。它可以通过在停止和启动之前调用 setVolume 来修复。拥有多个 MediaPlayer 并不是一个糟糕的主意,但您可能想看看 SoundPool .

关于java - 重新启动 MediaPlayer 时出现噪音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19628828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com