gpt4 book ai didi

java - 我是如何得到 NullPointerException 的?使用 JApplet

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:59 24 4
gpt4 key购买 nike

自从我使用 java 以来已经很长时间了,我忘记了如何处理 NullPointerException。我唯一能想到的是第 8 行。我不确定这是否是我应该从 java 文件所在的同一文件夹中检索音频文件的方式。

这是我第一次使用 AudioClip。如果这是问题所在,那么正确的方法是什么?预先感谢您提供任何帮助/提示。

如果我可以提供任何其他信息来帮助您帮助我,请告诉我。 :)

[此代码的目的是创建三个按钮,允许用户播放、循环和停止音乐]

import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class ProgAsThree extends JApplet
{
private AudioClip music = Applet.newAudioClip(getClass().getResource("Music.mp3"));
private JButton jbtPlay = new JButton("Play");
private JButton jbtLoop = new JButton("Loop");
private JButton jbtStop = new JButton("Stop");

public ProgAsThree()
{
JPanel panel = new JPanel();
panel.add(jbtPlay);
panel.add(jbtLoop);
panel.add(jbtStop);
add(panel);

jbtPlay.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
music.play();
}
});

jbtLoop.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
music.loop();
}
});

jbtStop.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
music.stop();
}
});

}
}
<小时/>
java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:65)
at java.applet.Applet.newAudioClip(Applet.java:311)
at ProgAsThree.<init>(ProgAsThree.java:8)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:795)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:724)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:722)

最佳答案

public void init() {
// ..
URL pathToClip = new URL(getCodeBase(), "Music.mp3");
music = Applet.newAudioClip(pathToClip);

上次我检查时,AudioClip 无法处理 MP3 格式(开箱即用)。请参阅Java Sound info. page修复。

关于java - 我是如何得到 NullPointerException 的?使用 JApplet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26667642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com