为什么用来了clip.loop(Clip.LOOP_CONTINUOUSLY);还是重叠播放
时间: 2024-04-04 10:29:31 浏览: 145
如果您使用的是Java中的Clip类来播放音频,可能会出现音频重叠播放的问题。这是因为Clip类在播放完音频后,会自动回到音频的起始位置并重新开始播放。为了避免这个问题,您可以在播放音频之前调用Clip类的setFramePosition(0)方法,将音频回到起始位置,然后再调用loop(Clip.LOOP_CONTINUOUSLY)方法来循环播放音频。这样,您就可以避免音频重叠播放的问题了。
相关问题
为什么用了clip.loop(Clip.LOOP_CONTINUOUSLY和setFramePosition(0)方法;还是重叠播放
即使您在播放音频之前调用了Clip类的setFramePosition(0)方法将音频回到起始位置,并且使用了loop(Clip.LOOP_CONTINUOUSLY)方法来循环播放音频,仍可能出现音频重叠播放的问题。这是因为Clip类的循环播放机制存在一定的延迟,当Clip类播放完音频后,会有一小段时间的延迟,此时音频还没有回到起始位置,就会开始重新播放,导致音频重叠播放的问题。要解决这个问题,您可以在Clip类的循环播放结束后,再次调用setFramePosition(0)方法将音频回到起始位置,然后再次调用loop(Clip.LOOP_CONTINUOUSLY)方法来循环播放音频。这样,您就可以避免音频重叠播放的问题了。
为什么用了clip.loop(Clip.LOOP_CONTINUOUSLY);
使用clip.loop(Clip.LOOP_CONTINUOUSLY)可以实现循环播放音频,其中Clip.LOOP_CONTINUOUSLY是指持续循环播放。具体来说,当Clip播放到结尾时,它会自动重新开始播放,直到我们手动停止它的播放。
在实现循环播放时,我们可以使用clip.loop(int count)来指定循环播放的次数。如果我们传入的参数是Clip.LOOP_CONTINUOUSLY,那么Clip就会不断地循环播放,直到我们手动停止它的播放。
因此,使用clip.loop(Clip.LOOP_CONTINUOUSLY)可以实现循环播放bgm.wav,而不会重叠播放。当Clip播放到结尾时,它会自动重新开始播放,而不会与之前的播放重叠。
阅读全文