一个简单的播放音频文件

时间:2022-07-26 19:47:47

package GUI_Basic;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;

public class Exercise16_20 extends JFrame {

public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new Exercise16_20();
frame.setSize(300,300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}

public Exercise16_20() {

URL u = getClass().getResource("src/GUI_Basic/aaaa.wav");
AudioClip a = Applet.newAudioClip(u);
a.loop();

add(new DrawRec());
}

class DrawRec extends JPanel {
private int x ;
private int y ;

public DrawRec() {
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
x = e.getX();
y = e.getY();
repaint();
}
});
}

protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillRect(100, 60, 100, 40);
if(x>=100&&x<=200&&y>=60&&y<=100) {
g.drawString("Mouse point is in the rectangle", x, y);
}
else 
g.drawString("Mouse point is not in the rectangle", x, y);
}
}

}



这个代码我在JCreator中可以播放出音乐,但是在Eclipse运行时出现错误 ,不知道是什么原因

7 个解决方案

#1


求解啊!!!!!!!

#2


eclipse报什么错?

#3


引用 2 楼 huxiweng 的回复:
eclipse报什么错?


Exception in thread "main" java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:65)
at java.applet.Applet.newAudioClip(Applet.java:313)
at GUI_Basic.Exercise16_20.<init>(Exercise16_20.java:23)
at GUI_Basic.Exercise16_20.main(Exercise16_20.java:12)

#4


空指针:JFrame frame = new Exercise16_20();

貌似是jframe没有引用到吧。检查下

#5


没有啊 我在其他编译器和敲javac都可以编译

#6


 URL u = getClass().getResource("src/GUI_Basic/aaaa.wav");
这句话有问题,,,,,我修改了一下就好了

public Exercise16_20() {

File file =new File("src/GUI_Basic/aaaa.wav");
URL u = null;
try {
u = file.toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioClip a = Applet.newAudioClip(u);
a.loop();

add(new DrawRec());
}


如果你在其他环境下应该是能找到那个文件,但是你在eclipse下找不到了,所以。。。。。。

#7


好奇怪......

#1


求解啊!!!!!!!

#2


eclipse报什么错?

#3


引用 2 楼 huxiweng 的回复:
eclipse报什么错?


Exception in thread "main" java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:65)
at java.applet.Applet.newAudioClip(Applet.java:313)
at GUI_Basic.Exercise16_20.<init>(Exercise16_20.java:23)
at GUI_Basic.Exercise16_20.main(Exercise16_20.java:12)

#4


空指针:JFrame frame = new Exercise16_20();

貌似是jframe没有引用到吧。检查下

#5


没有啊 我在其他编译器和敲javac都可以编译

#6


 URL u = getClass().getResource("src/GUI_Basic/aaaa.wav");
这句话有问题,,,,,我修改了一下就好了

public Exercise16_20() {

File file =new File("src/GUI_Basic/aaaa.wav");
URL u = null;
try {
u = file.toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioClip a = Applet.newAudioClip(u);
a.loop();

add(new DrawRec());
}


如果你在其他环境下应该是能找到那个文件,但是你在eclipse下找不到了,所以。。。。。。

#7


好奇怪......