이 주제에 대해 많은 스레드가 있지만 여전히 작동하지 않습니다. 컴파일러에서는 쉽게 작동하지만 jar 파일에서는 쉽게 작동하지 않습니다. jar 파일이 오디오 파일을 찾은 것 같지만 그냥 재생합니다.jar 파일에서 오디오 재생
import sun.audio.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
@SuppressWarnings({"serial","restriction"})
public class JarSoundTest1 extends JFrame {
JButton button;
InputStream in;
AudioStream as;
public JarSoundTest1() throws Exception {
JOptionPane.showMessageDialog(null, this.getClass().getResource("blopp.wav"));
button = new JButton("Click to Blopp!");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
in = this.getClass().getResourceAsStream("blopp.wav");
as = new AudioStream (in);
AudioPlayer.player.start(as);
JOptionPane.showMessageDialog(null, "try");
}catch(Exception ex){
ex.printStackTrace();
JOptionPane.showMessageDialog(null, "catch");
}
}
});
add(button);
}
public static final void main(String[] args) throws Exception {
JFrame frame = new JarSoundTest1();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
JOptionPane에 내가 가정 발견 된 파일을 나타내는 버튼을 클릭 할 때마다 "시도"표시? 여전히 소리가 들리지 않습니다. jar 파일 내부 및 외부에 배치 된 오디오 파일을 사용해 보았습니다. 이 점을 이해하는 데 도움을 주시면 감사하겠습니다.
입니다. 이러한 구현에서는 시간이 지남에 따라 정확성이 보장되지 않기 때문에 Sun의 것보다 javax.sound.sampled를 사용하는 것이 좋습니다. – demongolem