Clip类适合“大量使用”吗?

时间:2014-04-21 16:50:17

标签: java audio clip

我正在制作一个播放一系列Clip s(clip.start())的节目,平均每秒播放一次。

意味着剪辑已启动,一秒后它将停止并启动另一个剪辑,依此类推大约10个剪辑。

结果并不流畅,有些片段甚至没有开始或没有被听到。

我的问题:Clip类是否适合这种事情?或者是不应该处理的剪辑被非常频繁地停止和启动?

如果Clip不合适,您是否可以为此目的建议替代类或库?或者也许是一些关于如何使用Clips的指导方针,所以我所说的会流畅地工作? (也许是关于线程或其他东西)。

1 个答案:

答案 0 :(得分:0)

我对Java中的音频没有太多经验,但我对Clips的体验很差。我发现由于某种原因,重新启动一个不可接受的剪辑需要花费半秒钟的时间(发现一些显然与此问题有关的旧错误,但也许这是我当时的一个新错误正在调查它)。带有用于保存整个声音的缓冲区的SourceDataLine对我来说效果更好。

但是,我建议TinySound,这是一个有效的简单抽象。

以下是他们页面中的示例:

    //initialize TinySound
    TinySound.init();
    //load a sound and music
    //note: you can also load with Files, URLs and InputStreams
    Music song = TinySound.loadMusic("song.wav");
    Sound coin = TinySound.loadSound("coin.wav");
    //start playing the music on loop
    song.play(true);
    //play the sound a few times in a loop
    for (int i = 0; i < 20; i++) {
        coin.play();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {}
    }
    //be sure to shutdown TinySound when done
    TinySound.shutdown();