Mediaplayer 不会再次启动并在后台播放
Mediaplayer does not start again and plays on background
我是 android/java 的新手,我在用户按下按钮时创建了一个代码,它开始播放一首歌曲,一切都很好,但我有两个问题:
1- 当歌曲结束时,当我再次按下按钮时它不会再次播放,我需要关闭应用程序。
2- 当歌曲正在播放时我按下 home/back,歌曲仍在后台播放。
这是代码----
Button play;
MediaPlayer musica;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.button_play);
final MediaPlayer musica = new MediaPlayer();
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (musica.isPlaying()) {
musica.stop();
musica.reset();
}
try {
AssetFileDescriptor afd;
afd = getAssets().openFd("cdztriste.mp3");
musica.setDataSource(afd.getFileDescriptor(),
afd.getStartOffset(), afd.getLength());
musica.prepare();
musica.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
在您的 onBackPressed 函数中,输入
this.finish();
应该可以。
你有两个按钮吗?一个用于重置,一个用于播放?
我是 android/java 的新手,我在用户按下按钮时创建了一个代码,它开始播放一首歌曲,一切都很好,但我有两个问题:
1- 当歌曲结束时,当我再次按下按钮时它不会再次播放,我需要关闭应用程序。
2- 当歌曲正在播放时我按下 home/back,歌曲仍在后台播放。
这是代码----
Button play;
MediaPlayer musica;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.button_play);
final MediaPlayer musica = new MediaPlayer();
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (musica.isPlaying()) {
musica.stop();
musica.reset();
}
try {
AssetFileDescriptor afd;
afd = getAssets().openFd("cdztriste.mp3");
musica.setDataSource(afd.getFileDescriptor(),
afd.getStartOffset(), afd.getLength());
musica.prepare();
musica.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
在您的 onBackPressed 函数中,输入
this.finish();
应该可以。 你有两个按钮吗?一个用于重置,一个用于播放?