Windows 7上的Java Sound API

时间:2014-07-14 13:10:31

标签: java audio windows-7

我在http://www.tutorials.de/threads/java-einen-sound-abspielen.17178/找到了这个TestCode 它在OSX上运行,但在我的PC Win7上运行。 Win7上的Sound API有什么问题吗? 我安装了几个声音设备(integerated和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(); }

    }

}

感谢您的回复!

Ĵ

2 个答案:

答案 0 :(得分:1)

如果您使用的是Java 7,我建议您尝试使用JavaFX API。它们在各种平台上更先进,更兼容。在任何人提出要求之前,您不仅限于使用JavaFX的网站。

答案 1 :(得分:0)

你做了一个不好的例子,那就是混合了两种不同方法的代码(自己阅读音频流而不是让剪辑处理流)。

这里的最佳答案How can I play sound in Java?显示了如何通过Clip播放。