帮我改改这个程序,为什么不能播放音乐,还有就是随便加一点东西使代码量超过一百行,这是我的作业啊,要交的,拜托了!import java.awt.*; 
import java.awt.event.*;
import java.util.*;
import java.applet.*;
public class Gif extends Applet
{   myCanvas c1;
    Frame f;
    AudioClip sound;
    Timer timer=new Timer();
    
    public void init()
     {    
          c1=new myCanvas();
          f=new Frame();
          f.setVisible(true);
          f.setBounds(500,500,600,600);
          f.setLayout(new CardLayout());
          sound=getAudioClip(getCodeBase(),"6.mp3");
          sound.play();
          f.addWindowListener(new WindowAdapter() 
         { 
              public void windowClosing(WindowEvent e) 
             { 
                System.exit(0); 
              } 
          }); 
          c1.setSize(200,100);
          c1.setBackground(Color.white);
          f.add(c1,"");
          timer.schedule(new MyTask(),100,100);
    
     }
   
    class myCanvas extends Canvas
     {
         Toolkit tk;
         int i;
         
         Image[] imgs=new Image[5];
    
      myCanvas()
      {
          tk=getToolkit();
          for(i=1;i<=5;i++)
          imgs[i-1]=tk.getImage(i+".jpg");
      
       }
         public void paint(Graphics g)
         { 
                  if(i>4)
                  i=0;
                  g.drawImage(imgs[i++],200,200,200,100,this);
        
       
         
        
         
         
          }
      } 
         
      class MyTask extends java.util.TimerTask
      { 
             public void run()
             {  
                 c1.repaint();
              }
       }    
       public static void main(String args[])
       {
            Gif t=new Gif();
            t.init();
        }
}

解决方案 »

  1.   

    http://topic.csdn.net/u/20080108/13/443a6183-c904-4ca4-a0f6-c3f13b5bed8c.html
    看看这个怎么样?
      

  2.   

    AudioClip不支持mp3格式啊,只支持以下格式:
    wav,   aiff,   midi,   rmf   
      

  3.   

    错误是
    exception in thread "main" java.lang.nullpointerException
             at java.applet.Applet.getCodeBase(Unknown Source)
              是不是无法获取音乐的资源啊?
      

  4.   

    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;import javax.swing.*;
    import java.io.File;class AudioPlayDemo extends JFrame implements ActionListener {
        boolean looping = false; 
        File file1 = new File("music\\明天会更好.wav");
        AudioClip sound1;
        AudioClip chosenClip;    JButton playButton = new JButton("播放"); 
        JButton loopButton = new JButton("循环播放");    
        JButton stopButton = new JButton("停止"); 
        JLabel status = new JLabel("选择播放文件"); 
        JPanel controlPanel = new JPanel(); 
        Container container = getContentPane();     public AudioPlayDemo() { 
            try {
                sound1 = Applet.newAudioClip(file1.toURL());
                chosenClip = sound1;
            } catch(OutOfMemoryError e){
                System.out.println("内存溢出");
                e.printStackTrace();
            } catch(Exception e){
                e.printStackTrace();
            }
            playButton.addActionListener(this);
            loopButton.addActionListener(this);
            stopButton.addActionListener(this);
            stopButton.setEnabled(false);         controlPanel.add(playButton);
            controlPanel.add(loopButton);
            controlPanel.add(stopButton);        container.add(controlPanel, BorderLayout.CENTER);
            container.add(status, BorderLayout.SOUTH);        setSize(300, 130); 
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
        }public void actionPerformed(ActionEvent event) {
        if (chosenClip == null) {
            status.setText("声音未载入");
            return; 
        }
        Object source = event.getSource(); //获取用户洗涤激活的按钮    if (source == playButton) {
            stopButton.setEnabled(true); 
            loopButton.setEnabled(true); 
            chosenClip.play(); 
            status.setText("正在播放");
        }    if (source == loopButton) {
            looping = true;
            chosenClip.loop(); 
            loopButton.setEnabled(false); 
            stopButton.setEnabled(true); 
            status.setText("正在循环播放"); 
        }
        if (source == stopButton) {
            if (looping) {
                looping = false;
                chosenClip.stop(); 
                loopButton.setEnabled(true);
            } else {
                chosenClip.stop();
            }
            stopButton.setEnabled(false); 
            status.setText("停止播放");
          }
        }
        public static void main(String s[]) {
        new AudioPlayDemo(); 
        }
    }
      

  5.   

       不能播放wav  同时注意路径 改成据对路径,中一个.au格式的文件试试看 ,我试过了正好 qq38275865f6