[英]Can't get Mediaplayer to stop
我正在嘗試讓Android Mediaplayer在此onTouch方法中停止播放聲音,但不會。 相反,它作為最后一個聲音的補充開始聲音,因此我可以聽到它們重疊的聲音。 如果我讓它循環,循環將不會停止。 即使我不使用isPlaying部分,而是插入並檢查一個布爾值也不起作用。 有什么建議嗎?
public boolean onTouch(View v, MotionEvent event){
mp = MediaPlayer.create(getBaseContext(), R.raw.tara);
if (event.getAction() == MotionEvent.ACTION_DOWN){
Drawable myIcon = getResources().getDrawable( R.drawable.image1);
getWindow().setBackgroundDrawable(myIcon);
if (mp.isPlaying()){
mp.stop();
}
else {
mp.start();
}
}
else if (event.getAction() == MotionEvent.ACTION_UP){
Drawable myIconup = getResources().getDrawable( R.drawable.image2);
getWindow().setBackgroundDrawable(myIconup);
}
您創建mp = MediaPlayer.create(getBaseContext(), R.raw.tara);
每次調用onTouch時,因此您不會使用以前用於開始播放的mp實例。
檢查mp在onTouch開頭是否為null,如果不為null,則不要創建新的mp,而是停止當前的mp。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.