如何解决在MediaPlayer类中需要帮助
| 我最近尝试构建一个简单的android项目。当用户单击按钮时,它将播放声音。成功编译后,声音不会消失。我认为这是源代码,但我不知道错误在哪里 这是我的源代码:package com.jason.shootemup;
import java.util.Random;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class game extends Activity implements OnClickListener {
View shoot,reload;
int bullet = 5;
public static final Random r = new Random();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gun);
shoot = findViewById (R.id.shoot);
reload = findViewById (R.id.reload);
reload.setVisibility(2);
shoot.setonClickListener (this);
shoot.setonClickListener (this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.shoot :
shoot_sequence ();
break;
case R.id.reload :
Toast.makeText(this,\"Reload !!\",10);
reload_sequence();
break;
}
// Todo Auto-generated method stub
}
private void shoot_sequence() {
if (bullet > 0) {
play_shoot_sound ();
Toast.makeText(this,bullet+\" left !!\",10);
bullet = bullet - 1;
}
else {
reload.setVisibility(0);
shoot.setVisibility(2);
}
// Todo Auto-generated method stub
}
private void play_shoot_sound() {
MediaPlayer mp = MediaPlayer.create(this,R.raw.shoot);
mp.start();
mp.stop();
mp.release();
// Todo Auto-generated method stub
}
private void reload_sequence() {
play_reload_sound();
bullet = r.nextInt(4) + 1;
reload.setVisibility(2);
shoot.setVisibility(0);
// Todo Auto-generated method stub
}
private void play_reload_sound() {
MediaPlayer mp = MediaPlayer.create(this,R.raw.reload);
mp.start();
mp.stop();
mp.release();
// Todo Auto-generated method stub
}
}
让我知道错误... THX寻求帮助解决方法
杰森,您好,播放器启动后,您立即停止并释放。因此,请在完成后立即停止。希望这段代码对您有帮助
final MediaPlayer mPlayer=MediaPlayer.create(getBaseContext(),R.raw.reload);
mPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//new Toast(getBaseContext());
mPlayer.release();
mPlayer = null;
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。