一个按钮有onClickMethod openTheLock(),它使ImageView可见并启动音频。在点击ImageView时,它会消失并且音频会停止。音频在onCreate()中初始化。问题是当轻触ImageView时音频不会立即停止。可能是什么原因?
MediaPlayer jokerAudio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earth_room);
jokerAudio= MediaPlayer.create(EarthRoomActivity.this, R.raw.joker_laugh);
}
public void openTheLock(View v){
if(selectedItem == R.id.key_er_item || keyUsed == true){
jokerAudio.start();
ImageView joker = (ImageView)parentLayout.findViewById(R.id.joker);
joker.setVisibility(View.VISIBLE);
joker.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
jokerAudio.stop();
view.setVisibility(View.INVISIBLE);
}
});
}
答案 0 :(得分:2)
如果您没有再次使用MediaPlayer
,则可以尝试发布MediaPlayer
。
joker.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
jokerAudio.stop();
jokerAudio.reset();
jokerAudio.release();
view.setVisibility(View.INVISIBLE);
}
});
但是,如果您稍后在代码中再次使用MediaPlayer
,请不要忘记重新初始化它。