【问题标题】:Is the Clip class appropriate for 'heavy use'?Clip 类是否适合“大量使用”?
【发布时间】:2014-04-21 16:50:16
【问题描述】:

我正在开发一个播放一系列Clips (clip.start()) 的程序,平均每秒播放一个。

意味着一个剪辑开始,一秒钟后它停止并开始另一个剪辑,依此类推,持续大约 10 个剪辑。

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

我的问题:Clip 类适合这种事情吗?还是不应该处理频繁停止和启动的剪辑?

如果 Clip 不合适,您是否可以为此建议其他类或库?或者也许一些关于如何使用 Clips 的指南,以便我描述的内容可以流畅地工作? (也许关于线程或其他东西)。

【问题讨论】:

    标签: java audio clip


    【解决方案1】:

    我在 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 2021-03-13
      • 2012-02-29
      • 2012-01-12
      • 2012-07-13
      • 1970-01-01
      相关资源
      最近更新 更多