簡體   English   中英

Java Applet中的音頻無法播放

[英]Audio in Java Applet not playing

我正在嘗試在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) { }

}

看起來Sun的applet實現對於選擇要播放的聲音格式非常挑剔。 特別是“當前,Java [applet] API僅支持一種聲音格式:8位,μ律,8000 Hz,單通道,Sun“ .au”文件。”

如果是Tom提到的問題(可能很多),請使用JavaSound API播放音頻。

編輯:除了Java可以播放的文件數量有限之外,問題是我沒有意識到bin文件夾(在Eclipse工作區中)包含正在運行的.class文件。 因此,我引用getDocumentBase()的代碼找不到音頻文件。 -_-”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM