【发布时间】:2014-01-11 00:35:52
【问题描述】:
这是我写的一个小程序:
package learningSound;
import java.io.*;
import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;
public class Main extends JFrame {
Clip clip1,clip2,clip3;
AudioInputStream audioIn;
public Main(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Test Sound Clip");
this.setSize(300, 200);
this.setVisible(true);
try{
URL url1 = this.getClass().getResource("ah.wav");
audioIn = AudioSystem.getAudioInputStream(url1);
clip1 = AudioSystem.getClip();
clip1.open(audioIn);
URL url2 = this.getClass().getResource("eh.wav");
audioIn = AudioSystem.getAudioInputStream(url2);
clip2 = AudioSystem.getClip();
clip2.open(audioIn);
URL url3 = this.getClass().getResource("ih.wav");
audioIn = AudioSystem.getAudioInputStream(url3);
clip3 = AudioSystem.getClip();
clip3.open(audioIn);
clip1.start();
clip2.start();
clip3.start();
}catch(Exception e){e.printStackTrace();}
}
public static void main(String[] args) {
new Main();
}
}
它有效,但我想知道对多个剪辑使用相同的AudioInputStream 是否有问题。出于某种原因,这是一个问题吗?这是管理事物的正确方法吗?
另外,一个完全不同但很小的问题:如果我有一个按钮,当我点击它时,会播放Clip。播放剪辑的时间是否 100% 准确? (这是用于音乐制作的)。
【问题讨论】: