我正在尝试向我的 android 应用程序添加一个按钮,当点击该按钮时它会播放 MP3。我已经让它工作了,但没有办法释放 mediaPlayer 对象 - 因此即使在我离开活动后它也会继续播放。如果我在我的 react() 方法(按下按钮时调用的方法)之外初始化 MediaPlayer 对象,它会导致应用程序在活动打开时强制关闭。但是如果我在 react() 方法中初始化 MediaPlayer,我就不能在 onQuit() 方法中使用 mplayer.release。我在这里没有看到什么?
public void react(View view) {
MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
由于明显的原因不起作用并且
MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
public void react(View view) {
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
导致它强制关闭。
更新: 这是整个 java 类。
public class ToBeOrNot extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_be_or_not);
}
MediaPlayer mediaPlayer;
public void react(View view) {
mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.activity_to_be_or_not, menu);
// Locate MenuItem with ShareActionProvider
return true;
}
}
我认为它的作用是相对不言自明的。当被调用时,它会显示一些文本和一个按钮,当点击该按钮时会开始播放录音。当有人点击后退按钮时,它应该回到上一个活动并停止录制。谢谢你帮助我!