我做了一个android应用程序,你可以点击按钮来播放声音。每次你点击按钮,一个新的MediaPlayer就会被创建,问题是,当你在另一个声音还在播放的时候按下一个按钮,它们是同时播放的,但我想要的是,当你按下一个按钮时,以前的声音就会停止。我已经尝试过这段代码,但每次我按下按钮时,我的应用程序都会崩溃:
MediaPlayer mp;
Button button;
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mp.isPlaying()){
mp.stop();
}
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();
}});有没有办法解决我的问题?
发布于 2013-02-02 06:44:21
似乎启动太多MediaPlayer并不好,因为当我点击声音几次时,应用程序就会崩溃。我已经将mp.start更改为mp.reset和release。
发布于 2015-10-28 15:12:49
备注
代码
@Override
public void onClick(View v) {
if(mp != null) {
mp.release();
}
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();
}});https://stackoverflow.com/questions/14655916
复制相似问题