在这个程序中,我希望一次播放4首不同的歌曲并通过切换关闭。我已经让这个程序使用了一首歌,但是我不知道如何以这样的方式实现,因为你没有在结束之前按下停止按钮该程序。我之前从未使用过.txt文件,但是我知道他们会处理这类事情。
程序GUI(只需两个按钮,但会添加更多按钮)
代码
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.applet.Applet;
import java.applet.AudioClip;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.net.URL;
public class AddSound extends JFrame {
// JButton Play = new JButton("Play"); The old Play button that only played
// it once
JButton Loop = new JButton("Play");
JButton Stop = new JButton("Stop");
URL music1 = AddSound.class.getResource("music1.wav");
AudioClip clip = Applet.newAudioClip(music1);
public AddSound() {
super("AddingSound");
setLayout(new FlowLayout());
/*
* THIS ONLY THE PLAYS THE SONG TILL THE ENDING
* Play.addActionListener(new ActionListener() { public void
* actionPerformed(ActionEvent e) { clip.play(); }
*
* });
*/
Loop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clip.loop();
}
});
Stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clip.stop();
}
});
// add(Play); To add the Play button
add(Loop);
add(Stop);
}
public static void main(String args[]) {
JFrame frame = new AddSound();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
}
答案 0 :(得分:2)
您使用的java.applet.AudioClip不支持播放特定位置的音频。
您可能对this帖子感兴趣。
当您设法了解如何播放微秒位置的声音时,您可能需要使用window closing event写入文件应在下次程序运行时启动的文件。
写文件很容易,你可以使用BufferedWriter。