【发布时间】:2016-01-24 15:34:59
【问题描述】:
我在我的 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() 之前 stop() / prepare() 它,但我得到了同样的结果。
- 我尝试在每次播放时实例化一个新的 MediaPlayer,它可以工作,但我想不推荐这样做(顺便说一下,使用这种方法,如果我很快地向按钮发送太多次垃圾邮件,我的活动中的声音就会停止)
提前谢谢你:)
【问题讨论】:
-
第二次检查
mpClic.isPlaying()是否在mpClic.start();之前。 Documentation -
好的,但是如果它已经在播放,我怎么能再播放一遍呢?
标签: android android-mediaplayer android-audiomanager