Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BigClip的问题_Java_Url_Audio_Nullpointerexception_Malformedurlexception - Fatal编程技术网

Java BigClip的问题

Java BigClip的问题,java,url,audio,nullpointerexception,malformedurlexception,Java,Url,Audio,Nullpointerexception,Malformedurlexception,我一直在尝试在我的应用程序中播放音乐。我一直在使用BigClip代码示例: try { url = new URL(Sounds.class.getResourceAsStream("title1.wav").toString()); } catch (MalformedURLException e2) { // TODO Auto-generated catch block e2.printStackTrace()

我一直在尝试在我的应用程序中播放音乐。我一直在使用BigClip代码示例:

try {
        url = new URL(Sounds.class.getResourceAsStream("title1.wav").toString());
        } catch (MalformedURLException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        BigClip clip = new BigClip();
        AudioInputStream ais = null;
        try {
            ais = AudioSystem.getAudioInputStream(url);
        } catch (UnsupportedAudioFileException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        try {
            clip.open(ais);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (LineUnavailableException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        clip.start();
        JOptionPane.showMessageDialog(null, "BigClip.start()");
        clip.loop(4);
        JOptionPane.showMessageDialog(null, "BigClip.loop(4)");
        clip.setFastForward(true);
        clip.loop(8);
        // the looping/FF combo. reveals a bug..
        // there is a slight 'click' in the sound that should not be audible
        JOptionPane.showMessageDialog(null, "Are you on speed?");
}
当我只使用title1.wav时,我得到以下错误:

java.net.MalformedURLException: no protocol: java.io.BufferedInputStream
当我添加协议文件://时,我得到了一个NullPointerException,尽管我看不出是什么导致了它


我是否使用了错误的协议,或者我是否做了其他错误的事情?提前谢谢

假设您的文件与Sounds类位于同一个包目录中,请使用

url = Sounds.class.getResource("title1.wav");
因为

new URL(Sounds.class.getResourceAsStream("title1.wav").toString())
只是注定不起作用。您正在调用InputStream实例上的toString


NPE发生的原因可能是AudioSystem.getAudioInputStream由于错误的URL路径而失败,因此ais为null,BigClip将NPE从open中抛出。

谢谢,它现在运行良好!为什么BigClip会导致音频开始、停止、再次播放开始、继续播放和出现故障?我对BigClip不太熟悉。如果你指的是@AndrewThompson,你可能会问一个新问题,引起他的注意。在他的答案中添加一个链接,或者像我刚才那样点击他。虽然可能是由其他人负责的。