[英]How to play .wav files in Java (looped)?
我已经忙了大约两个小时,现在正在寻找可以在Java中播放简单wav文件的示例代码。 但是,我收到的任何一份都没有为我工作。 也许只有我一个人不了解如何操作示例代码,但是任何人都可以向我提供示例代码以及有关如何使其正常工作的“说明”。 任何帮助将非常感激。
此代码将创建一个剪辑,并在开始后连续播放:
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new URL(filename)));
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
有更现代的方法可以执行此操作,但是applet类AudioClip
可能满足您的需求:
import java.applet.Applet;
import java.applet.AudioClip;
final AudioClip clip = Applet.newAudioClip(resourceUrl);
播放一次:
clip.play();
循环:
clip.loop();
clip.stop();
getAudioClip
public AudioClip getAudioClip(URL url)
返回URL参数指定的
AudioClip
对象。 无论音频剪辑是否存在,此方法总是立即返回。 当此小程序尝试播放音频剪辑时,将加载数据。参数:
url-提供音频剪辑位置的绝对URL。
返回:
指定URL上的音频剪辑。
您实际上不需要对applet进行任何操作即可使它起作用。 它将在常规Java应用程序中正常工作。
import java.io.File;
import javax.sound.sampled.*;
public void play(File file)
{
try
{
final Clip clip = (Clip)AudioSystem.getLine(new Line.Info(Clip.class));
clip.addLineListener(new LineListener()
{
@Override
public void update(LineEvent event)
{
if (event.getType() == LineEvent.Type.STOP)
clip.close();
}
});
clip.open(AudioSystem.getAudioInputStream(file));
clip.start();
}
catch (Exception exc)
{
exc.printStackTrace(System.out);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.