如何在我的Java程序中实现背景音乐?

时间:2016-01-19 22:03:37

标签: java

myMap.erase(iter, ++iter)

当我尝试编译程序时,它说,“AudioStream是内部专有API,可能会在将来的版本中删除...... AudioPlayer是内部专有API,可能会在将来的版本中删除......”

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

    String filename="foo.wav";
    Clip clip=AudioSystem.getClip();
    AudioInputStream inputStream=AudioSystem.getAudioInputStream(new BufferedInputStream(Audio.class.getResourceAsStream(filename)));
    if(inputStream!=null) {
        clip.open(inputStream);
        FloatControl gainControl=(FloatControl)clip.getControl(FloatControl.Type.MASTER_GAIN);
        gainControl.setValue(+6.0f); // ?
        clip.start();
        // maybe do not wait?
        while(clip.getMicrosecondLength()!=clip.getMicrosecondPosition())
            Thread.yield(); // wait
        // or at least don't wait here?
        Thread.sleep(500);
        clip.close();
    }

适用于Windows 8.1

确保wave文件与包含代码的类相同,并确保它位于类路径中。

另外,您可能希望在单独的线程上执行此操作。