作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我写的一个小程序:
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% 准确吗? (这是为了音乐制作)。
最佳答案
当您调用静态方法 AudioSystem.getAudioInputStream()
时,您将从给定的 URI 获取音频输入流,只要该 URI 指向音频。这意味着您在代码中所做的实际上并没有使用相同的流。换句话说,你所做的是正确的。
至于问题的“第 2 部分”,我不确定您所说的剪辑时间是什么意思?你能稍微扩展一下吗?
关于java - Java 中的声音 : Is it okay to use the same AudioInputStream for several Clips?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056992/
我是一名优秀的程序员,十分优秀!