Так что этот класс воспроизводит звуковой файл «Theme A.wav» просто отлично, когда он запускается сам по себе.Звук Java отлично воспроизводится при запуске в одиночку, а не при прохождении через отдельный класс
Это «PlayAudio.class»
import java.io.*;
import sun.audio.*;
public class PlayAudio {
public static playsound() {
String sound = "Theme A.wav";
InputStream audio = new FileInputStream(new File(sound));
AudioStream aStream = new AudioStream(audio);
AudioPlayer.player.start(aStream);
System.out.println("Loaded playaudio.class; playing audio");
}
public static void main(String args[]) {
new playsound();
}
}
Однако кнопка воспроизведения находится в главном классе, не может вызвать «playaudio.class при нажатии. Он отлично работал, прежде чем я добавил звуковой код (все, кроме «System.out.println» («Загруженный проигрыватель воспроизведения, проигрывание аудио»), строка «). Ошибка не отображалась до тех пор, пока в первый класс не будет добавлен фрагмент «throws Exception».
//play button
play = new JButton(new ImageIcon ("UIImages/play.png"));
play.setBackground(Color.WHITE);
play.setFocusPainted(false);
//sets up the action play
play.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
PlayAudio.playsound();
}
});
Любая помощь? Это исключение, которое генерирует компилятор.
1 error found:
File: C:\Users\Hunter\workspace\src\rejomedia.java [line: 74]
Error: Unhandled exception type java.lang.Exception
И что такое исключение? – JamesB
Добавлен к вопросу. – LeZayta
Если вы не возражаете против нескольких предложений: вы должны назвать свой класс playaudio PlayAudio - занятия начинаются с таких столиц, методы начинаются с нижнего регистра (так что «главное» правильно). # 2 у вас есть ошибка сборки, а не исключение. Исключения выполняются только при запуске программы (java), а не ее компиляции (javac). # 3, извлеките этот код из основного и поместите его в другой метод, например «playSound», затем попросите главного и обработчика событий «playSound», который кажется намного лучше, чем вызов «main» напрямую. –