gpt4 book ai didi

Android MediaPlayer - 未完成时播放两次声音

转载 作者:搜寻专家 更新时间:2023-11-01 07:51:03 25 4
gpt4 key购买 nike

我在我的 Android 应用程序中添加了点击声音,但是当我在按钮上点击得太快时,声音只播放一次(因为第一次播放还没有结束)。 我希望在每次点击时播放声音

我想知道实现我想要的行为的最佳方式是什么?

我把MediaPlayer的实例化放在onCreate()方法中,在onClick()方法中播放

@Override
protected void onCreate(Bundle savedInstanceState) {
[...]
mpClic = MediaPlayer.create(getApplicationContext(),R.raw.clic);
}


vButtonLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[...]
mpClic.start();
}
});
  • 我试图在 play() 之前停止 ()/prepare() 它,但我得到了同样的结果。
  • 我尝试在每次播放时都实例化一个新的 MediaPlayer,它可以工作,但我想不推荐这样做(顺便说一句,使用这种方法,如果我很快地向按钮发送太多次垃圾邮件,我的 Activity 中的声音就会停止)

提前谢谢你:)

最佳答案

尝试:

vButtonLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

if(mpClic.isPlaying()){
mpClic.stop();
mpClic.prepare();
}
mpClic.start();
}
});

关于Android MediaPlayer - 未完成时播放两次声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34977646/

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