我现在正在大肆宣传几个小时,现在正在寻找可以用Java编写简单wav文件的示例代码。但是,我收到的所有人都没有为我工作。也许只是我不了解如何操作示例代码,但任何人都可以向我提供示例代码和"指令"如何让它正常工作。任何帮助将不胜感激。
答案 0 :(得分:3)
此代码将创建一个剪辑并在启动后连续播放:
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);
答案 1 :(得分:0)
有更多现代方法可以做到这一点,但小程序类AudioClip
可能会满足您的需求:
import java.applet.Applet;
import java.applet.AudioClip;
final AudioClip clip = Applet.newAudioClip(resourceUrl);
播放一次:
clip.play();
循环:
clip.loop();
clip.stop();
的Javadoc
<强> getAudioClip 强>
public AudioClip getAudioClip(URL url)
返回URL参数指定的
AudioClip
对象。 无论音频剪辑是否存在,此方法始终立即返回。当此applet尝试播放音频片段时,将加载数据。参数:
url - 提供音频剪辑位置的绝对网址。
返回:
指定网址的音频剪辑。
您不需要实际使用applet执行任何操作。它可以在常规Java应用程序中正常工作。
答案 2 :(得分:0)
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);
}
}