我在 http://www.tutorials.de/threads/java-einen-sound-abspielen.17178/ 找到了这个测试代码 它可以在 OSX 上运行,但不能在我的 PC Win7 上运行。 Win7 上的声音 API 有问题吗? 我安装了多个声音设备(集成的和 FireWire AudioInterface),并尝试了这两个设备,但什么也没听到。
import javax.sound.sampled.*;
import java.io.*;
/*
* SoundTest.java
*
* Created on 1. August 2003, 21:06
*/
/**
*
* @author Administrator
*/
public class SoundTest {
/** Creates a new instance of SoundTest */
public SoundTest() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("sample.wav"));
AudioFormat af = audioInputStream.getFormat();
int size = (int) (af.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte[size];
DataLine.Info info = new DataLine.Info(Clip.class, af, size);
audioInputStream.read(audio, 0, size);
// for(int i=0; i < 32; i++) {
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(af, audio, 0, size);
clip.start();
// }
}catch(Exception e){ e.printStackTrace(); }
}
}
感谢您的回复!
J
最佳答案
如果您使用的是 Java 7,我建议尝试 JavaFX API。它们更加先进并且跨平台兼容。在有人询问之前,使用 JavaFX 时您不仅限于网络。
关于Windows 7 上的 Java 声音 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737315/