Java Applet中的音频无法播放

时间:2009-06-18 21:40:28

标签: java applet audio

我正在尝试在Java小程序中播放音频,但它无法正常工作。可能是什么问题?

编辑:除了Java可以播放的文件数量有限之外,问题是我没有意识到bin文件夹(在Eclipse工作区中)包含运行的.class文件。所以我的代码引用了getDocumentBase()找不到音频文件。 -_-“

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

public class Viewer extends Applet
    implements MouseListener, MouseMotionListener {
    AudioClip sound1;
    AudioClip tap;
    AudioClip clap;

    public void init() {
        sound1 = this.getAudioClip(getDocumentBase(),"boom.au");
        tap = getAudioClip(getDocumentBase(), "tap.au");
        clap = getAudioClip(getDocumentBase(), "clap.au");

        this.resize(600,600);

        addMouseListener(this);

        setBackground(Color.BLACK);
    }

    public void paint (Graphics g) {

    }

    public void mouseClicked(MouseEvent e) {
        sound1.play();
        System.out.println("BOOM!");
    }
    public void mouseEntered(MouseEvent e) { }
    public void mouseExited(MouseEvent e) { }
    public void mousePressed(MouseEvent e) {
        tap.play();
        System.out.println("tap!");
    }
    public void mouseReleased(MouseEvent e) { }
    public void mouseDragged(MouseEvent e) { }
    public void mouseMoved(MouseEvent e) { }

}

3 个答案:

答案 0 :(得分:3)

看来Sun的applet实现非常挑剔它将播放的声音格式。具体来说是"Currently, the Java [applet] API supports only one sound format: 8 bit, µ-law, 8000 Hz, one-channel, Sun ".au" files."

答案 1 :(得分:1)

如果这是Tom提到的问题(很可能),请使用JavaSound API播放音频。

答案 2 :(得分:0)

编辑:除了Java可以播放的文件数量有限之外,问题是我没有意识到bin文件夹(在Eclipse工作区中)包含运行的.class文件。所以我的代码引用了getDocumentBase()找不到音频文件。 -_-“