当前位置: 首页 > 知识库问答 >
问题:

正在处理:声音文件在循环中,但只想播放一次

殷德本
2023-03-14

有人能帮我吗?

if (waist != null){
       if(waist.angle<195){
          text("waist too high", waist.getCenter().x, waist.getCenter().y);
           low.stop();
           correct.stop();
           high.play();
       } else if(waist.angle>205){
         text("waist too low", waist.getCenter().x, waist.getCenter().y);
           high.stop();
           correct.stop();
           low.play();
       } else text("you're doing well", waist.getCenter().x, waist.getCenter().y);
           high.stop();
           low.stop();
           correct.play();
     }

共有1个答案

太叔昊苍
2023-03-14

你应该为你的功能设定一个速率限制。

假设您将函数包装到playSound(yial),它接受一个yials实例,并立即播放/停止声音。

那么您可以通过一个简单的定时器来限制它的呼叫速率,如下所示:

long lastTimestamp = 0; // Init this in your void setup() or in your constructor
static final THRESHOLD = 2000; // Process event at most once per 2s
long currentTimestamp = System.currentTimeMillis();
if (currentTimestamp - lastTimestamp >= THRESHOLD) {
   // Process the event
   playSound(waist);
} 
 类似资料:
  • 我在许多论坛和YouTube教程中搜索了一些简单的代码来播放声音文件(.mp3),但我找到的所有内容都不适合我。 我总是收到异常,它找不到文件或其他错误,但它总是以异常结束。 有什么我必须先配置的吗? -编辑- 我再次尝试以下代码来显示我得到的解释: 这是我的代码 添加JFXPanel后,我得到了异常:线程“main”中的异常MEDIA Exception:MEDIA _ UNAVAILABLE

  • 问题内容: 这是我用来在我的react应用程序中使用url(this.url)播放声音的代码。当我按下播放按钮时,它给我一个错误 我不确定为什么会这样,因为我没有看到任何未定义的状态。一个;; 状态已经声明。 我是新来的反应者,所以我可能会错过一些非常重要的东西。 请帮忙! 问题答案: 我稍微改进了Jaxx的版本,使其包含一个,以便在音频结束时重置按钮。 ES6类属性语法 挂钩版本(反应16.8+

  • 问一下Xamarin.Forms便携里面Xamarin.Forms的音频怎么播放 正如我所知,有依赖服务,我看到了一些示例,只有iOS和Android,但没有Windows Phone 8.1/Windows 8.1和UWP。

  • 我为我的游戏编写了一个定制的声音系统,但如果要求在几毫秒内播放两个声音,则只能播放一个声音片段。 我尝试在这样的新线程上运行播放,但它不起作用。没有例外,它只是不会播放两种声音。 这是声音播放器类

  • 播放(播放音效/播放录音)

  • 问题内容: Octave似乎假设某个特定的声音播放实用程序将在系统上可用,但似乎没有提供指定备用声音的功能。在以下错误中,Octave正在寻找,这不是在所有系统上都可用的实用程序。 八度:38>声音(beamformed_20) sh:ofsndplay:找不到命令 是否可以使用Octave配置设置或代码片段来指定适合系统的实用程序? 问题答案: 在我的一台Linux机器上,我创建了以下ofsnd