我试图模仿这里找到的代码https://stackoverflow.com/tags/javasound/info但我不能让它通过循环()或开始()播放。我一直在寻找答案,但似乎我的只是侥幸或愚蠢的错误,其他人都足以识别。
import javax.sound.sampled.*;
import java.net.URL;
public class AudioTest
{
public static void main(String[] args) throws Exception
{
URL url = new URL("http://www.public.asu.edu/~wnjones1/leftright.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
clip.open(audioIn);
clip.start();
}
}
它具有示例缺少 GUI 的所有内容,但这不重要,不是吗?它至少应该还能玩一次吧?
任何帮助将非常感激。谢谢!
--EDIT-- 这是我从我的网站上提取的一个简单的两秒 .wav 文件。我正在使用 Java7u21。
--EDIT v2.0-- 所以基本上我学到的是......保留GUI。或者使用 Applet,这样您就不必担心 main() 的结尾。
import javax.swing.*;
public class Assignment6me extends JApplet
{
private int APPLET_WIDTH = 400, APPLET_HEIGHT = 160;
private AudioPanel ap;
//The method init initializes the Applet with a Pane with two tabs
public void init()
{
try
{
ap = new AudioPanel();
}
catch(Exception e)
{}
getContentPane().add(ap);
setSize (APPLET_WIDTH, APPLET_HEIGHT); //set Applet size
}
}
import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;
import java.io.File;
public class AudioPanel extends JPanel
{
public AudioPanel() throws Exception
{
File file = new File("Don't Stop Believin'.wav");
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.getAudioInputStream( file );
clip.open(ais);
clip.start();
}
}