我希望这个音乐文件继续播放它停止播放的音乐

时间:2016-01-28 17:28:23

标签: java

在这个程序中,我希望一次播放4首不同的歌曲并通过切换关闭。我已经让这个程序使用了一首歌,但是我不知道如何以这样的方式实现,因为你没有在结束之前按下停止按钮该程序。我之前从未使用过.txt文件,但是我知道他们会处理这类事情。

程序GUI(只需两个按钮,但会添加更多按钮)

The Program 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);
}

}

1 个答案:

答案 0 :(得分:2)

您使用的java.applet.AudioClip不支持播放特定位置的音频。

您可能对this帖子感兴趣。

当您设法了解如何播放微秒位置的声音时,您可能需要使用window closing event写入文件应在下次程序运行时启动的文件。

写文件很容易,你可以使用BufferedWriter