Аудио в Java-апплете не воспроизводится - PullRequest
0 голосов
/ 19 июня 2009

Я пытаюсь воспроизвести звук в апплете 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 ]

3 голосов
/ 19 июня 2009

Похоже, что реализация апплета Sun очень разборчива в том, какие именно форматы звуков она будет воспроизводить. В частности "В настоящее время API Java [applet] поддерживает только один звуковой формат: 8-битный, µ-закон, 8000 Гц, одноканальный, файлы Sun" .au "."

1 голос
/ 19 июня 2009

Если это проблема, о которой говорил Том (вполне вероятно), используйте JavaSound API для воспроизведения звука.

0 голосов
/ 01 июля 2009

РЕДАКТИРОВАТЬ: Помимо ограниченного числа файлов, которые может воспроизводить Java, проблема заключалась в том, что я не осознавал, что папка bin (в рабочей области Eclipse) содержит файл .class, который запускается. Поэтому мой код, ссылающийся на getDocumentBase (), не может найти аудиофайл. -_- "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...