我正在尝试在JApplet上播放音乐。
小程序本身工作正常,但我听不到任何音乐。
我想知道它是否必须以文件为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新手,请保持简单。
答案 0 :(得分:1)
我想知道它是否必须以文件为mp3。
是的,确实如此。 Java标准支持非常有限的格式。
要播放MP3,我通常会使用Java Sound并在运行时类路径中添加MP3服务提供程序接口。有关详细信息,请参阅Java Sound info. page。
答案 1 :(得分:0)
有一个小而且非常容易使用的java库。 它提供了一个支持mp3,MIDI,wav的声音播放器...... 它支持播放单个文件,文件夹和m3u列表。 该播放器还具有循环和随机播放等功能,以及其他有用的功能。 您可以从以下位置获取所有源代码和api文档: http://imr-lib.blogspot.com