2013-05-14 108 views
0

我想让音乐在JApplet的后台播放。无法获取JApplet播放音乐mp3文件

该小程序本身工作得很好,但我没有听到任何音乐。

我想知道如果它是由于该文件是MP3。

//AnimationDemo1.java 

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


public class Developers extends JApplet 
{ 
    private AudioClip backgroundmusic; 



    public void init() 
    { 
     URL urlformusic = getClass().getResource("audio/song1.mp3"); 
     backgroundmusic = Applet.newAudioClip(urlformusic); 
     backgroundmusic.loop(); 
     add(new DevelopersPanel()); 
    } 
    public void start() { 
     backgroundmusic.loop(); 
    } 
    public void stop(){ 
     backgroundmusic.stop(); 
     } 
    public void destroy() { 
     backgroundmusic.stop(); 
     } 
}// end of class of extended JApplet 

class DevelopersPanel extends JPanel 
{  


    private int numImages = 3; 
    private ImageIcon[] loop = new ImageIcon[numImages]; 
    private String[] description = new String[3]; 
    private int currentImage = 0; 


    public DevelopersPanel() 
    { 
     description[0] = "Charlie Brown works at Charleston Restraunt" + 
      "as a Shift Leader, Server, and Classroom Trainer."; 
     description[1] = "Snoopy, well he just does his own thing."; 
     description[2] = "Lucy helped keep everyone working on the project sane."; 
     for(int x = 0;x<loop.length;x++) 
     { 
      URL url = this.getClass().getResource("image/pic" + x + ".jpg"); 
      loop[x] = new ImageIcon(url); 
     } 

    } //end of constructor 

    public void paintComponent(Graphics g) 
    { 
     super.paintComponent(g); 
     Dimension d = getSize(); 

     g.drawImage(loop[currentImage].getImage(), 10, 10,d.width/2, d.height/2, this); 
     g.drawString(description[currentImage],d.width-d.width+20, d.height-20); 
     currentImage = (currentImage + 1) % numImages; 

     try{ 
      Thread.sleep(3000); 
     } 
     catch(InterruptedException e){ 
     } 
     repaint(); 

    } 

} //end of extended JPanel class 

任何帮助将非常感激。

我对java还是个新手,请保持简单。

回答

1

我想知道如果它是由于该文件是MP3。

是的。 Java支持标准数量非常有限的格式。

要播放MP3,我通常会使用Java Sound并将MP3服务提供程序接口添加到运行时类路径。有关更多详细信息,请参阅Java Sound info. page

0

有一个小而且非常容易使用的java库。 它提供了一个支持MP3,MIDI,WAV的声音播放器... 它支持播放单个文件,文件夹和m3u列表。 该播放器还具有循环和随机播放等功能。 您可以从以下获得所有源代码和api文档: http://imr-lib.blogspot.com