【问题标题】:What is the difference between AudioClip and Clip in java?java中的AudioClip和Clip有什么区别?
【发布时间】:2014-12-29 00:06:51
【问题描述】:

在我的游戏中,我尝试添加音效和其他声音元素。我对所有内容(BGM、sfx 等)都使用了 AudioClip。现在我需要检查一个 sfx 是否已经在循环中。我想存档,如果角色靠近门户,则应该循环播放 sfx。如果它超出距离,它应该停止。我读到有一个 .isRunning() 函数,但据我所知,它只能与 Clip 一起使用。这是我的代码的一部分。

那么AudioClip和Clip有什么区别呢?

if (hero.getHeroX() > (MAZECOL - 5) * 30 && hero.getHeroY() > (MAZEROW - 4) * 30)
    if (portalSFX is not in loop)
        portalSFX.loop();
else
    portalSFX.stop();

【问题讨论】:

  • 看起来像是两个不同的API; AudioClipjava.applet 中,而 Clipjavax.sound.sampled 中。
  • 它们有什么优缺点吗?因为我真的需要 .isRunning() 函数,所以我应该将所有声音都更改为 Clip 而不是 AudioClip?还是有别的办法?

标签: java clip


【解决方案1】:

AudioClip 属于小程序 API。使用它真的没有意义。它较旧且功能有限。

Clip 属于 javax.sound.sampled。可以从AudioSystem获取,有官方教程here

【讨论】:

  • 感谢您的回答。有什么方法可以检查 AudioClip 是否在循环/已经播放?但无论如何我都会尝试将其更改为 Clip。
  • “有什么方法可以检查 AudioClip 是否在循环播放/是否已经在播放?” 不,没有。切换到 Clip 在这里是正确的决定。
猜你喜欢
  • 2011-07-30
  • 2011-11-23
  • 2022-12-04
  • 2011-06-02
  • 2010-09-19
相关资源
最近更新 更多