0

我试图让音乐在 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新手,请保持简单。

4

2 回答 2

1

我想知道它是否必须与文件为 mp3 相关。

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

要播放 MP3,我通常会使用 Java Sound 并将 MP3 服务提供者接口添加到运行时类路径。请参阅Java 声音信息。页面了解更多详情。

于 2013-05-14T15:20:02.300 回答
0

有一个小型且非常易于使用的 java 库。它提供了一个支持 mp3、MIDI、wav 的声音播放器......它支持播放单个文件、文件夹和 m3u 列表。该播放器还具有循环和随机播放等功能以及其他有用的功能。您可以从以下网址获取所有源代码和 api 文档:http: //imr-lib.blogspot.com

于 2013-05-23T21:22:21.567 回答