java中的音频播放无法正常工作

java中的音频播放无法正常工作,java,audio,javasound,Java,Audio,Javasound,我试图模拟这里找到的代码,但无法通过loop()或start()播放。我一直在寻找答案,但我的答案似乎只是一个侥幸或愚蠢的错误,其他人都能认识到 import javax.sound.sampled.*; import java.net.URL; public class AudioTest { public static void main(String[] args) throws Exception { URL url = new URL("http://

我试图模拟这里找到的代码,但无法通过loop()或start()播放。我一直在寻找答案,但我的答案似乎只是一个侥幸或愚蠢的错误,其他人都能认识到

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的所有内容,但这不重要,不是吗?它至少还能玩一次,对吗

任何帮助都将不胜感激。谢谢大家!

--编辑-- 这是一个简单的两秒钟的.wav文件,我从我的网站上提取。我使用的是Java7u21

--编辑v2.0-- 所以基本上我学到的是。。。保留GUI。或者使用小程序,这样就不必担心main()的结尾

在Java声音信息中看到的(工作)源代码。佩奇就是这样

import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;

public class LoopSound {

    public static void main(String[] args) throws Exception {
        URL url = new URL(
            "http://pscode.org/media/leftright.wav");
        Clip clip = AudioSystem.getClip();
        // getAudioInputStream() also accepts a File or InputStream
        AudioInputStream ais = AudioSystem.
            getAudioInputStream( url );
        clip.open(ais);
        clip.loop(Clip.LOOP_CONTINUOUSLY);
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                // A GUI element to prevent the Clip's daemon Thread
                // from terminating at the end of the main()
                JOptionPane.showMessageDialog(null, "Close to exit!");
            }
        });
    }
}
我提请你注意:

                // A GUI element to prevent the Clip's daemon Thread
                // from terminating at the end of the main()
                JOptionPane.showMessageDialog(null, "Close to exit!");
加上那一部分就可以了


所以没有GUI我不能播放任何文件

我想不起基于命令行的应用程序。这确实听起来不错,但这是可能的

import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;
import java.util.Scanner;

public class LoopSound {

    public static void main(String[] args) throws Exception {
        URL url = new URL(
            "http://pscode.org/media/leftright.wav");
        Clip clip = AudioSystem.getClip();
        // getAudioInputStream() also accepts a File or InputStream
        AudioInputStream ais = AudioSystem.
            getAudioInputStream( url );
        clip.open(ais);
        clip.loop(Clip.LOOP_CONTINUOUSLY);
        Scanner scanner = new Scanner (System.in);
        scanner.nextInt();
    }
}

如果你想播放mp3文件,我的意思是使用像j2se这样的java,告诉我我可以帮你向我解释你的查询,你想要什么更新这个问题。这是一个.wav文件,我使用的是JavaSE7u21。试试看这对你有帮助吗?我故意忽略了GUI。我想我可以不用它。所以没有GUI我不能播放任何文件?不,我没说过。请参见编辑。需要做的只是防止
main(String)
结束。如果你回来时说“没有
扫描仪我就不能播放歌曲”
,我会被警告说我会打你的头(这是一条规则)。“那么……没有扫描仪我不能播放音乐?”我开玩笑说。但是谢谢。它确实更能解释为什么有GUI。
import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;
import java.util.Scanner;

public class LoopSound {

    public static void main(String[] args) throws Exception {
        URL url = new URL(
            "http://pscode.org/media/leftright.wav");
        Clip clip = AudioSystem.getClip();
        // getAudioInputStream() also accepts a File or InputStream
        AudioInputStream ais = AudioSystem.
            getAudioInputStream( url );
        clip.open(ais);
        clip.loop(Clip.LOOP_CONTINUOUSLY);
        Scanner scanner = new Scanner (System.in);
        scanner.nextInt();
    }
}