gpt4 book ai didi

android - 在switch语句中使用Android MediaPlayer播放声音

转载 作者:行者123 更新时间:2023-12-02 23:49:20 24 4
gpt4 key购买 nike

我正在尝试让我的应用程序在屏幕上显示当前练习时播放声音。我遇到的问题是,声音一旦播放就会不断重复播放。我希望媒体播放器只播放一次声音。我也有一个倒计时计时器在运行,在更改之前,exerciseCount为0持续15秒。声音在时钟倒计时的每个数字上不断重复。我如何让声音只播放一次?

        switch (currentExercise){
case 0 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.lunges);
mp.start();
break;
case 1 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.abdominalcrunches);
mp.start();
break;
case 2 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.pushups);
mp.start();
break;
case 3 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.squats);
mp.start();
break;
case 4 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.rest);
mp.start();
break;

}

最佳答案

您可能想尝试在交换机周围放置if语句。就像是:

if(timer == -1){
switch (currentExercise){
case 0 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.lunges);
mp.start();
break;
case 1 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.abdominalcrunches);
mp.start();
break;
case 2 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.pushups);
mp.start();
break;
case 3 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.squats);
mp.start();
break;
case 4 :
mp.reset();
mp = MediaPlayer.create(getBaseContext(), R.raw.rest);
mp.start();
break;

}
}

可能是您的交换机正在循环。

关于android - 在switch语句中使用Android MediaPlayer播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com